스크립트 자체 내에서 스크립트를 종료하기 위한 간단한 테스트를 시도하고 있습니다. 작동하지 않는 것 같습니다.
function testKill
{
PID=$$
kill $PID
echo hello!
}
이 기능을 실행하면,
[....]$ testKill
hello!
분명히 프로세스가 종료되지는 않습니다. echo 명령을 보내기 전에 프로세스를 종료하려면 어떻게 해야 합니까?
이 모든 것을 외부 스크립트로 옮길 때 명령줄에서 직접 스크립트를 호출하면 올바르게 종료됩니다. 그러나 .bash_profile에 함수를 생성하고 해당 함수에서 스크립트를 호출하면 스크립트가 종료되지 않고 인쇄됩니다. 이것을 내 .bash_profile에 어떻게 통합합니까?
이는 보다 복잡한 스크립트에 사용하기 위한 최소한의 작업 예제입니다.
답변1
귀하의 예에서는 스크립트를 작성하지 않았습니다. 따라서 이를 kill
대화형 셸 세션에 적용합니다. 대화형 쉘은 SIGTERM
사용자가 보내는 신호를 포함하여 대부분의 신호를 무시합니다.
함수와 해당 호출을 스크립트에 넣고 실행합니다. 기대에 부응할 가능성이 더 높습니다.
답변2
bash에서(각각 콘솔에서) 직접 함수로 사용하려면 다음을 시도해 보세요.
function testKill
{
kill $PPID
echo "no hello :-/"
}