是否可以终止在一个目录中运行的所有进程?流程具有相同的用户 例如(运行流程):
/bin/1/a/p1
/bin/1/b/p2
/bin/2/a/p3
我希望从/bin/1/
(/bin/1/a/p1
和/bin/1/b/p2
)中删除所有进程。
答案 0 :(得分:3)
你可以说:
ps aw | awk '/\/bin\/1\// {print $1}' | xargs kill -9
编辑:为了确保这不会像commented那样杀死任何意外的命令,你可以说:
ps aw o pid,command | awk '$2 ~ /^\/bin\/1\// {print $1}' | xargs kill -9
答案 1 :(得分:1)
ps -A -o cmd,pid --no-headers | sed -n '/^\/bin/{ s/^.* //; s/ //g; p; }' | xargs kill -s SIGSPEC
-s SIGSPEC
是可选的,SIGSPEC
可以是
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS
通常它是SIGHUP,SIGABRT,SIGTERM和SIGKILL。至少使用SIGKILL。默认情况下,它是SIGTERM。