«trap» 태그된 질문

3
"트랩… INT TERM EXIT"가 정말로 필요합니까?
정리 작업 에 trap사용 trap ... INT TERM EXIT하기위한 많은 예 . 그러나 세 sigspec을 모두 나열해야합니까? 매뉴얼은 말합니다 : SIGNAL_SPEC이 EXIT (0) 인 경우 ARG는 쉘 종료시 실행됩니다. 이는 내가 믿는 스크립트가 정상적으로 완료하거나 수신하기 때문에 완료 여부를 적용 SIGINT나 SIGTERM. 실험은 또한 나의 믿음을 확인시켜줍니다 : $ cat …
63 bash  shell  signals  trap 


6
트랩, ERR 및 오류 라인 에코
트랩을 사용하여 모든 오류에 대한 함수를 호출하여 오류보고를 작성하려고합니다. Trap "_func" ERR ERR 신호가 전송 된 라인을 얻을 수 있습니까? 껍질은 bash입니다. 그렇게하면 사용 된 명령을 읽고보고하고 일부 작업을 기록 / 수행 할 수 있습니다. 아니면 내가이 모든 잘못 가고 있습니까? 나는 다음과 같이 테스트했다. #!/bin/bash trap "ECHO $LINENO" ERR …

2
`set -eu`를 사용할 때 EXIT 및 ERR 트랩의 올바른 동작
ERR 및 EXIT 트랩과 함께 set -e( errexit), set -u( nounset)를 사용할 때 이상한 동작이 관찰됩니다 . 그것들은 관련이있는 것처럼 보이므로, 하나의 질문에 넣는 것이 합리적입니다. 1) set -uERR 트랩을 트리거하지 않습니다 암호: #!/bin/bash trap 'echo "ERR (rc: $?)"' ERR set -u echo ${UNSET_VAR} 예상 : ERR 트랩이 호출됩니다. RC! …

1
bash-builtin이 CPU를 100 % 구울 때까지 기다립니다.
에 적어도 발생 GNU bash는 버전 4.3.42 x86_64의 && GNU bash는 버전 4.3.11 x86_64의 신호 ( SIGUSR1 )에 의해 인터럽트 가능을 얻는 sleep & wait $!간단한 대신에 사용 합니다 . 그러나 bash 내장 기능은 다음을 실행할 때 이상한 방식으로 작동하는 것 같습니다.sleepsleepwait 터미널 1: cat <( trap 'echo SIGUSR1' SIGUSR1; …

3
트랩은 서브 쉘에 상속됩니까?
다음 스크립트를 시도했습니다. #!/bin/bash trap 'echo "touching a file" && touch $FILE' EXIT foo1(){ echo "foo1" } foo(){ echo "foo" export FILE=${FILE:-/tmp/file1} } (foo1) foo 위 스크립트의 출력은 다음과 같습니다. [root@usr1 my_tests]# ./test.sh foo1 foo touching a file 그러나 나는 foo1서브 쉘 에서 호출 될 때 트랩이 호출 될 것으로 …
14 shell  trap  subshell 

4
SIGINT 등을 잡을 때 종료 코드를 유지 하시겠습니까?
http://linuxcommand.org/wss0160.php#trap 에서 trap설명한 것과 같이 사용 하여 종료하기 전에 ctrl-c (또는 유사한) 및 정리를 잡으면 종료 코드가 변경됩니다. 이제 이것은 아마도 실제 세계에서 차이를 만들지 않을 것입니다 (예 : 종료 코드가 이식 가능하지 않고 프로세스가 종료 될 때 기본 종료 코드 에서 논의 된 것처럼 항상 명확하지는 않기 때문에 ) …

2
트랩 명령을 사용하여 오류를 발생시키는 방법
우분투 12.04.2를 사용하고 있습니다. 쉘 스크립트에서 "trap"명령을 사용하여 비정상 또는 오류를 캡처하려고하지만 "Error"exit를 수동으로 트리거하려고합니다. 종료 1을 시도했지만 "오류"신호가 트리거되지 않습니다. #!/bin/bash func() { exit 1 } trap "echo hi" INT TERM ERR func "오류"종료 신호를 수동으로 트리거하는 방법을 모르십니까?

3
bash 함수에서 트랩을 설정하는 방법은 무엇입니까?
trapbash 스크립트에서는 설정할 수 있지만 bash 함수 는 설정할 수 없습니다. 예를 들어, source아래 코드를 실행 f하고 이제 Ctrl+를 시도 C하면 갇히지 않았습니다! trapbash 함수에서 설정하는 방법 ? 4 trap ctrl_c INT 5 6 ctrl_c () { 7 echo "** Trapped CTRL-C" 8 } 9 10 11 f () { …
13 bash  trap 

1
SIGINT 신호를 트랩하려고 할 때 왜 오류 메시지가 표시됩니까?
lftp를 사용하여 서버에서 파일을 자동으로 다운로드하기 위해 아래 스크립트를 실행하고 있습니다. 그것이 실행될 때 오류 메시지가 나타나는 것을 제외하고 작동합니다. trap: SIGINT: bad trap SIGINT 및 SIGTERM을 INT 및 TERM으로 바꾸면 작동하지만 동일한 목적을 달성하는지 모르겠습니다. 이것은 Linux Debian 4.9.2-10에 있습니다. #!/bin/sh login="login" pass="password" host="server.server.com" remote_dir='~/remote/dir' local_dir="/local/dir" base_name="$(basename "$0")" lock_file="/tmp/$base_name.lock" …
12 shell  trap 

6
백그라운드에서 작업을 자동으로 시작
프로세스를 백그라운드에 넣었을 때와 같이 수행 할 때 알림을받지 않고 백그라운드에서 프로세스를 시작하기 위해 이것을 사용할 수 있다는 것을 알고 있습니다. (명령 &) &> / dev / null 그러나 이렇게하면 프로세스가 끝나면 트랩 할 수있는 옵션이 제거됩니다 ( trap child_done CHLD). 둘 다 어떻게 가질 수 있습니까?
12 process  zsh  trap 

3
트랩 명령에서 신호 0은 무엇입니까?
ssh-agent를 사용하여 비밀번호없는 SSH 인증을 설정하는 방법에 대한 이 안내서 를 따르고 있습니다. ssh-agent를 시작하려면 저자는 다음 코드를 권장합니다 .bash_profile. SSHAGENT=/usr/bin/ssh-agent SSHAGENTARGS="-s" if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then eval `$SSHAGENT $SSHAGENTARGS` trap "kill $SSH_AGENT_PID" 0 fi 왜 신호 0을 트래핑하고 있는지 이해할 수 없습니다. man 7 신호 …
12 bash  signals  trap 

1
쉘 스크립트에서 트랩 처리 및 암시 적 서브 쉘
다음 EXIT과 같이 트랩을 통해 일종의 정리 코드를 실행하는 쉘 스크립트가 있다고 가정 해 봅시다 . #!/bin/bash mytrap () { echo "It's a trap!" >&2 } trap mytrap exit echo I am at the end of the script. It's a trap!스크립트가 종료되면 예상대로 인쇄 됩니다. $ sh myscript I am …
12 shell  trap 

3
bash 스크립트의 경우 'Ctrl + c'를 트랩하십시오. 그러나이 스크립트에서는 프로세스가 열려 있지 않습니다.
bash 스크립트에서 대화 형 프로그램을 만들려고했습니다. my_program 그리고 'Ctrl + c'로 닫을 수 있기를 바랍니다. 그러나 내가 할 때 내 스크립트도 닫힙니다. 나도 알아 trap '' 2 my_program trap 2 그러나이 경우 my_programCtrl + c로 닫을 수 없습니다 . 프로그램에서 Ctrl + c를 허용하지만 실행중인 스크립트를 닫지 않는 방법을 알고 …
11 bash  trap 

2
bash에서 139 (세그먼트 오류)를 반환하는 프로그램을 어떻게 트랩 할 수 있습니까?
일부 프로그램을 테스트하는 bash 스크립트가 있고 프로그램 중 하나가 반환 Segmentation fault되므로 스크립트 헤드에 트랩을 추가하려고했습니다. trap "echo 'segfault occured!'" SIGSEGV 그러나 그것은 아무것도하지 않았습니다. 나는 사용했다 echo $? segfault를 생성하는 프로그램 직후에 출력으로 139 를 얻습니다 . 특정 오류 코드에 대한 트랩을 어떻게 추가합니까?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.