本文主要是介绍linux杀死同名进程,Solaris不能用“killall 进程名”杀死多个同名进程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【小蜗牛闲情之作
】
我经常使用一个服务程序,在Linux下运行,ps可以看到有多个进程,但是在Solaris下只看到一个进程。这个可能是Solaris和Linux的进程模型差异引起的。
如果在Linux下,杀死多个同名进程可以用“killall [signal] 进程名” 的方式来杀死指定名字的程序,但是在Solaris下killall的使用方式不一样,无法像Linux那样轻松做到,可以用以下shell脚本来实现:
杀死多个名为my_server的进程:
PIDS=`ps -ef | grep my_server | grep -v grep | awk '{print $2}'`
for pid in $PIDS
do
kill -9 $pid
done
"grep -v grep" 这一步是是过滤 "grep my_server" 命令自身在 "ps -ef" 里的输出,最后输出给 awk 的才是我们想要的进程信息。
这个“组合命令”功能很实用,但是也得注意,可以一步步检验输出结果是否正确,最后才决定要不要 kill 掉他们,否则杀错程序有可能导致非常严重的后果哦。
想知道系统支持那些信号,可以:
[root@pps ~]# kill -l
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 34) SIGRTMIN
35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4
39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
------------------------------------------------------------------------------------------
赵小蜗牛
QQ: 755721501
在不断奉献中谋求生存发展、打造自己的优秀品质,用人性最本质最动人的一面“营销”自己!
这篇关于linux杀死同名进程,Solaris不能用“killall 进程名”杀死多个同名进程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!