쉘프로그램상에서 SIG_IGN처럼 동작하게 하려면?

ioi_ioi의 이미지

간단한 쉘프로그램으로 루프를 돕니다.

이때 ctrl+C로 쉘 프로그램을 끌수가 있는데

이걸 막을 수 있는 방법이 있는지 궁금합니다.

적당한 키워드를 찾지 못해서 검색 헛탕만 친거 같네요.

그런 방법없나요?

SIG_IGN처럼 동작하게 할 수 있는 방법좀 알려주심 감사하겠습니다.

그럼 오늘하루도 행복하세요.

cinsk의 이미지

ioi_ioi의 이미지

뭘 말씀하시는 지 잘 모르겠습니다.

말씀하신대로 man trap을 해봤지만 다음과 같은 내용이 나와서

Quote:
trap [-lp] [arg] [sigspec ...]
The command arg is to be read and executed when the shell
receives signal(s) sigspec. If arg is absent or -, all speci-
fied signals are reset to their original values (the values they
had upon entrance to the shell). If arg is the null string the
signal specified by each sigspec is ignored by the shell and by
the commands it invokes. If arg is not present and -p has been
supplied, then the trap commands associated with each sigspec
are displayed. If no arguments are supplied or if only -p is
given, trap prints the list of commands associated with each
signal number. Each sigspec is either a signal name defined in
<signal.h>, or a signal number. If a sigspec is EXIT (0) the
command arg is executed on exit from the shell. If a sigspec is
DEBUG, the command arg is executed after every simple command
(see SHELL GRAMMAR above). If a sigspec is ERR, the command arg
is executed whenever a simple command has a non-zero exit sta-
tus. The ERR trap is not executed if the failed command is part
of an until or while loop, part of an if statement, part of a &&
or ?귘봻 list, or if the command?셲 return value is being inverted
via !. The -l option causes the shell to print a list of signal
names and their corresponding numbers. Signals ignored upon
entry to the shell cannot be trapped or reset. Trapped signals
are reset to their original values in a child process when it is
created. The return status is false if any sigspec is invalid;
otherwise trap returns true.

저는 시그널을 막는 루틴을 쉘프로그램안에 넣어서 SIGINI을 막아보려고 하는데요

답을 잘 못찾겠네요.

(제가 떠줘야 알아듣는 바보같다는 생각이 드네요 --;;)

indra의 이미지

#!/bin/sh
trap "" INT
echo -ne "count."
while :; do echo -ne "."; sleep 1; done

Quote:

If arg is the null string the
signal specified by each sigspec is ignored by the shell and by
the commands it invokes.

영문이라도.. 잘 해석해보려는 노력을 하심이 어떠신지.. ^^

ioi_ioi의 이미지

해석은 했지요.
그만한 노력도 안하면 날로먹겠다는거지요.

한가지 차이라면
저는 이렇게

trap " " SIGINT

한번 해보고는 안되나부다~ 그랬던... ㅜ.ㅜ

아~ 감사합니다!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.