Linux에서 sigstop 신호를 사용하여 프로세스를 중지하는 방법

Linux에서 sigstop 신호를 사용하여 프로세스를 중지하는 방법

2022-06-03 last update

6 minutes reading Linux Commands
프로그램이나 응용 프로그램이 전체 프로세서를 멈추게 할 때, 우리는 시스템을 정상 상태로 되돌리기 위해 이 프로그램을 종료하려고 시도한다.이제 두 가지 옵션이 있습니다. "KILL"명령을 사용하여 프로그램을 종료하거나, "SIGSTOP"신호와 KILL 명령을 사용하여 프로그램 프로세스를 중지합니다.
-SIGSTOP 옵션은 KILL 명령과 함께 사용되며 프로세스를 중지하기 위해 이 문서에서 자세히 설명합니다.

Linux에서 SIGSTOP 신호를 사용하여 프로세스를 중지하는 방법


Linux에서 프로세스는 실행 중인 프로그램이나 응용 프로그램으로 시스템을 한동안 바쁘게 하고, 응용 프로그램/프로그램은 시스템에 저장된 실행 가능한 파일입니다.응용 프로그램이 열려 있으면 KILL 명령을 사용하여 프로세스를 관리할 수 있습니다.KILL 명령은 SIGSTOP, SIGCONT, SIGQUIT, SIGTRAP과 같은 다른 신호로 프로세스를 관리합니다.기본적으로 KILL 명령을 사용하면 SIGTERM 신호를 고려하여 실행 중인 프로그램과 응용 프로그램을 종료합니다.이를 이해하기 위해 Linux에서 Mozilla Firefox 응용 프로그램을 열어 PIDs를 얻고 Firefox의 실행 상태를 확인하려면 다음 명령을 사용합니다.
$ pidof firefox

Firefox가 실행되지 않으면 출력이 표시되지 않습니다.출력에 PIDs가 Firefox가 실행 중인지 확인합니다.우선 Firefox를 사용하여 신호 없이 KILL 명령을 사용합니다.
$ kill $(pidof firefox)

위의 명령에서 Firefox는 종료되었습니다. 앞서 설명한 바와 같이. 기본적으로kill 명령은 SIGTERM 신호를 사용합니다. 이를 확인하기 위해 PID 명령을 사용하여 Firefox의 PID를 다시 검사합니다.
$ pidof firefox

프로그램이 종료되었음을 나타내는 내용이 출력에 표시되지 않습니다. 프로세스를 중지하기 위해 Firefox를 다시 실행한 후 SIGSTOP 신호를 사용하여 명령을 실행합니다.
$ kill -SIGSTOP $(pidof firefox)

출력 디스플레이 프로그램이 종료되지 않고 한동안 정지되었습니다.프로그램을 다시 정상적으로 만들려면 다음 명령을 실행하십시오.
$ kill -SIGCONT $(pidof firefox)

SIGCONT 신호는 정지된 시간부터 프로세스를 계속합니다. PID를 사용하여 프로세스를 중지할 수도 있습니다. 이를 위해 스크립트를 작성하고 "&"를 사용하여 PID를 표시합니다.
$ (sleep 60; echo “Hello! Linux Hint”) &

위의 명령은 먼저 터미널을 60초 동안 휴면시킨 다음 "Hello! Linux Hint"를 인쇄하지만, 인쇄하기 전에 "SIGSTOP"신호를 사용하여 프로세스를 유지합니다.
$ kill -SIGSTOP 32560

스크립트를 인쇄하는 프로세스가 중지되었습니다. 이 프로세스를 계속하려면 "SIGCONT"신호를 사용하십시오.
$ kill -SIGCONT 32560

출력이 표시됩니다.

결론


sigstop은 KILL 명령과 함께 사용되는 신호로 프로세스를 영구적으로 종료하는 것이 아니라 일정 시간 정지하는 데 사용됩니다.sigcont 명령을 사용하여 이 과정을 복구할 수 있습니다.이 신호는 매우 유용합니다. 특히 일부 프로세스가 시스템을 느리게 할 때, 우리는sigstop 명령을 사용하여 프로세스를 멈출 수 있습니다.본고에서 우리는 예시를 통해sigstop신호의 사용을 상세하게 토론하였다.더 잘 이해하기 위해서, 우리는 프로그램 이름과 PID의sigstop 신호를 사용하여 프로세스를 정지합니다.