linux杀死同名进程,Solaris不能用“killall 进程名”杀死多个同名进程

【小蜗牛闲情之作

etc_20.gif

我经常使用一个服务程序,在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

在不断奉献中谋求生存发展、打造自己的优秀品质,用人性最本质最动人的一面“营销”自己!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值