PID不断变化时杀死进程

Bac*_*alo 14 process kill

当我发出

ps aux | grep mtp
Run Code Online (Sandbox Code Playgroud)

我得到

ubuntu-+ 15934 0.1 0.0 519848 7068 ? SL 21:13 0:00 /usr/lib/gvfs/gvfsd-mtp --spawner :1.9 /org/gtk/gvfs/exec_spaw/20

所以在这种情况下 PID 是 15934。但是每次运行新的 PID 都是不同的。除了PID之外,还有其他方法可以杀死进程吗?

Ser*_*kel 8

可能有一个父进程杀死子进程并分叉新子进程。您可以使用 pstree 查找父进程:

pgrep mtp | xargs -i pstree -ps {}
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用 ps 的 ppid 选项:

pgrep mtp | while read line; do ps -p $line -o ppid; done
Run Code Online (Sandbox Code Playgroud)

然后你可以杀死父进程