일부 내부 응용 프로그램을 호출하는 쉘 스크립트를 실행했는데 몇 시간이 걸립니다. 몇 가지 문제로 인해 이 작업을 중단하거나 종료해야 했습니다. 이를 위해 먼저 ps -u $uname
진행 중인 모든 작업을 나열하기 위해 달려갔습니다.
PID TTY TIME CMD
14172 pts/1 0:00 ps
12939 ? 0:00 sshd
12904 ? 0:01 sshd
13132 pts/1 0:00 bash
12945 pts/1 0:00 sh
12897 ? 0:00 sshd
이제 죽일 올바른 PID를 어떻게 찾을 수 있습니까?
답변1
다음을 사용하는 것도 고려할 수 있습니다.
pgrep "you_script"
또는
pgrep -f "complete_cmd_line_of_script"
"process-grep"은 PID만 결과로 나타냅니다.
찾은 프로세스를 종료하려면 pgrep과 동일한 구문을 사용하는 pkill을 사용할 수도 있습니다.
답변2
ps aux | grep "your_script_name.sh"
답변3
더 완전한 대답은 PID에만 관심이 있기 때문입니다.
ps aux | grep yourscript | grep -v grep | awk '{print $2}'
답변4
ps -aux
cron
이것은 훌륭한 명령이지만 대부분의 작업은 완료되지 않았거나 "진행 중" 데몬이 있는 경우 다시 시작하도록 설정되어 있다는 점을 명심하십시오 .