터미널에서 프로세스가 실행 중인지 확인하는 방법은 무엇입니까?

터미널에서 프로세스가 실행 중인지 확인하는 방법은 무엇입니까?

예를 들어, ping one.com을 입력하면 프로세스가 계속 실행됩니다. 프로세스를 중지하려면 Ctrl C를 입력하면 됩니다. 기억이 정확하다면 프로세스가 완전히 종료됩니다. Ctrl Z를 사용하여 중지하면 프로세스가 백그라운드에서 계속 실행됩니까? 프로세스가 실행 중이지만 터미널 화면에 표시되지 않는 경우를 어떻게 알 수 있나요? 감사해요.

답변1

jobs내장 명령을 사용하여 현재 셸에서 실행 중인 작업을 확인하세요.

$ ping google.com >/dev/null 2>&1 &
[1] 32406

$ jobs
[1]+  Running                 ping google.com > /dev/null 2>&1 &

$ ping google.com
[...]
^Z
[2]+  Stopped                 ping google.com

$ jobs
[1]-  Running                 ping google.com > /dev/null 2>&1 &
[2]+  Stopped                 ping google.com

실행 중인 모든 작업을 종료하려면 jobs -p이를 활용하여 모든 작업의 ​​PID를 나열할 수 있습니다.

$ for job in $(jobs -p); do kill $job; wait $job; done

추가 자료:http://www.tldp.org/LDP/abs/html/x9644.html

답변2

ps -aux | grep "processname"프로세스가 실행 중인지 확인하려면 실행하세요 .

지정된 프로세스를 종료 하려면 실행하세요 kill "processID". PID는 이전 명령의 대상 프로세스와 일치하는 두 번째 숫자 집합입니다.

killall "processname"정의된 이름을 가진 모든 프로세스를 종료하려면 실행하세요 .

관련 정보