내가 발행할 때
ps aux | grep mtp
알겠어요
우분투-+ 15934 0.1 0.0 519848 7068? 21:13 0:00 /usr/lib/gvfs/gvfsd-mtp --spawner :1.9 /org/gtk/gvfs/exec_spaw/20
따라서 이 예의 PID는 15934입니다. 그러나 실행할 때마다 PID가 달라집니다. PID 외에 프로세스를 종료하는 다른 방법이 있습니까?
답변1
하위 프로세스를 종료하고 새 하위 프로세스를 분기하는 상위 프로세스가 있을 수 있습니다. pstree를 사용하여 상위 프로세스를 찾을 수 있습니다.
pgrep mtp | xargs -i pstree -ps {}
또는 ps의 ppid 옵션을 사용할 수 있습니다.
pgrep mtp | while read line; do ps -p $line -o ppid; done
그런 다음 상위 프로세스를 종료할 수 있습니다.
답변2
변경 프로세스를 종료하려면 동적으로 종료할 수 있습니다.
pkill name_of_process
또는
kill -kill $(ps -A | grep name_of_process | awk '{print $1}')
여기에서 Kill에 대해 자세히 알아보세요.https://www.thegeekstuff.com/2009/12/4-ways-to-kill-a-process-kill-killall-pkill-xkill/
노트:grep 또는 sed로 수행되는 검색은 대소문자를 구분하므로 이러한 예제를 사용하여 특정 프로세스를 종료하기 전에 PID가 아닌 고유 식별자로 범위를 좁혀야 합니다.
프로세스의 상위 프로세스를 동적으로 찾으려면 다음을 수행할 수 있습니다.
ps -o ppid=$(ps -A | grep name_of_process | awk '{print $1}')
PPID가 있으므로 거기에서 상위 프로세스를 종료할 수 있습니다.
상위 프로세스를 종료할 수 없는 경우 첫 번째 해결 방법을 사용해야 합니다. 문제는 프로세스의 PID가 생각보다 빨리 변경되는 경우가 있다는 것입니다. 이 경우 Grep 대신 Sed를 사용할 수 있습니다. 첫 번째 예는 다음과 같습니다.
kill -kill $(ps -A | sed '/name_of_process/!d' | awk '{print $1}')
작업 속도를 더욱 높이려면 다음 사항을 연마해야 할 수도 있습니다.메모이 명령은 other 플래그를 사용하여 other 결과를 반환합니다.-ㅏ. ps 매뉴얼 페이지를 확인하십시오.
https://www.man7.org/linux/man-pages/man1/ps.1.html
때로는 데몬의 도움으로 프로세스가 계속 실행되는 경우도 있습니다. 당신도 그것을 죽일 수 있는지 확인하십시오.
고려해야 할 두 가지 다른 사항은 다음과 같습니다.프로세스와 연관된 터미널또는그들 모두를 죽일주문하다.
답변3
pkill mtp를 사용하거나 kill -9를 사용할 수 있습니다.pidof mtp
mtp 프로세스가 여러 개인 경우 두 명령 모두 시스템의 모든 mtp 프로세스를 종료합니다.
라미 로젠
답변4
pkill
프로세스를 시작한 명령의 이름을 기준으로 시작할 수 있습니다( ps aux
출력의 마지막/11번째 열).
sudo pkill -9 -f COMMAND_STARTING_THE_PROCESS*
귀하의 경우 프로세스를 시작하는 명령은 다음과 같습니다.
/usr/lib/gvfs/gvfsd-mtp --spawner :1.9 /org/gtk/gvfs/exec_spaw/20
당신은 죽일 수 있습니다스크립트 시작과 관련된 모든 프로세스gvfsd-mtp
그리고
sudo pkill -9 -f /usr/lib/gvfs/gvfsd-mtp*
참고: 반드시 사용해야 합니다 sudo
!