pkill的-f选项慎用啊!!

今天有个使用场景,就是restart脚本调用pkill杀死服务并重启,在使用过程中发现执行restart.sh没有问题,但是在使用ssh远程调用的情况下,会导致进程异常退出,同时exist code是143(linux状态码大于128的情况下是128+收到的信号)当时就很纳闷这是被谁给杀了,而且是连续两天被杀,也不能这么巧吧,这时候突然想到脚本本身就发送了kill -15的信号,难道是自己把自己给杀了,于是打开脚本看了下,发现里面写的pkill -f。。。然后出去看了下路径发现路径跟pkill关键字时一样的。。就是/path/programname,远程调用的命令是cd /path/programname && sh restart.sh 然后pkill -f programname的时候。。。囧,于是检查了下,把-f去掉了,其实在当前的场景中,pkill name就满足了使用情况,简单粗暴不好啊。。。还是够用就好。这加上-f选项真的是容易误伤,现在是把自己给杀了,这要是把关键服务给杀了可咋整。