我使用openconnect连接到我的VPN服务器,我注意到的一件奇怪的事情是,如果我使用kill或pkill命令来关闭正在运行openconnect进程的后台,那么整个Linux网络将无法使用,我必须重新启动系统以使它再次运行,但是使用Ctrl +C杀死前台openconnect并不会影响网络的可使用性,我想制作一个脚本来在每天12点自动重新启动(杀死和重新连接) openconnect,所以我希望能够使用pkill命令来重新启动它。
我想知道用pkill杀死它和用Ctrl +C杀死它有什么区别,以及如何在shell脚本中正确地终止进程。
谢谢。
日志
root@vagrant:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=46 time=144 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 138.338/141.269/144.200/2.931 ms
root@vagrant:~# ps
PID TTY TIME CMD
1397 pts/0 00:00:00 sudo
1398 pts/0 00:00:00 bash
1493 pts/0 00:00:00 openconnect
1495 pts/0 00:00:00 ps
root@vagrant:~# pkill openconnect
root@vagrant:~# ping 8.8.8.8
connect: Network is unreachable发布于 2019-04-12 14:58:35
我想出了办法,我应该使用$ kill -2 ID来终止openconnect进程,-2选项会发送“从键盘中断”,这对我来说很有帮助。
https://serverfault.com/questions/962732
复制相似问题