
세미콜론으로 구분된 여러 bash 명령을 실행하고 있습니다.
% long-running-command-I-want ; another-command-I-dont
이 long-running-command-I-want
아직 실행 중입니다. 당연히 pid
아직은 없습니다 another-command-I-dont
. 한동안 기다려온 another-command-I-dont
을 죽이지 않고 선제적으로 죽이기/취소/실행방지를 하고 싶습니다 . long-running-command-I-want
그렇게 할 수 있나요? 그렇다면 어떻게?
답변1
bash
다른 쉘을 실행하면 계속하려는 프로그램을 실행 중인 PID를 찾을 수 있습니다 . 이것이라면 다음을 bashPID
사용하여 인터럽트 신호를 보냅니다.
kill -2 bashPID
이렇게 하면 나머지 명령줄의 실행이 중지됩니다.
선택적으로 원래 셸에서 Ctrl-를 입력하여 z백그라운드에서 실행 중인 프로그램을 일시적으로 일시 중지할 수 있습니다. 이는 인터럽트 신호에 의해 플러시되는 나머지 명령줄에서도 계속됩니다. 그런 다음 포그라운드에서 계속할지 또는 백그라운드에서 계속할지 여부에 따라 fg
또는 를 사용하여 실행 중인 프로그램을 재개할 수 있습니다 .bg