linux – 如何使用父级1终止进程

前端之家收集整理的这篇文章主要介绍了linux – 如何使用父级1终止进程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在RedHat盒子上运行Bacula.存储守护程序bacula-sd有时会停止工作并变为< defunct>.
  1. [root@backup ~]# ps -ef | grep defunct | more
  2. root 4801 29261 0 09:25 pts/5 00:00:00 grep defunct
  3. root 5825 1 0 Oct18 ? 00:00:00 [bacula-sd] <defunct>

我的问题是,我该怎样杀死这个过程?据我所知,它的父亲是1,这是init,我不想杀死init进程,是吗?

“正常”杀死此过程不起作用:

  1. [root@backup ~]# kill -0 5825
  2. [root@backup ~]# kill -9 5825

非常感谢帮助!

编辑:正在运行

  1. [root@backup ~]# lsof -p 5825

产生以下输出

  1. COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
  2. bacula-sd 5825 root cwd DIR 253,0 4096 3801089 /root
  3. bacula-sd 5825 root rtd DIR 253,0 4096 2 /
  4. bacula-sd 5825 root txt REG 253,0 2110599 368004 /usr/local/sbin/bacula-sd
  5. bacula-sd 5825 root mem REG 253,0 75284 389867 /usr/lib/libz.so.1.2.3
  6. bacula-sd 5825 root mem REG 253,0 46680 3604521 /lib/libnss_files-2.5.so
  7. bacula-sd 5825 root mem REG 253,0 936908 369115 /usr/lib/libstdc++.so.6.0.8
  8. bacula-sd 5825 root mem REG 253,0 125736 3606807 /lib/ld-2.5.so
  9. bacula-sd 5825 root mem REG 253,0 1602128 3606885 /lib/libc-2.5.so
  10. bacula-sd 5825 root mem REG 253,0 208352 3606892 /lib/libm-2.5.so
  11. bacula-sd 5825 root mem REG 253,0 125744 3606887 /lib/libpthread-2.5.so
  12. bacula-sd 5825 root mem REG 253,0 25940 3604573 /lib/libacl.so.1.1.0
  13. bacula-sd 5825 root mem REG 253,0 15972 3604535 /lib/libattr.so.1.1.0
  14. bacula-sd 5825 root mem REG 253,0 46548 3606908 /lib/libgcc_s-4.1.2-20080102.so.1
  15. bacula-sd 5825 root mem REG 253,0 56422480 366368 /usr/lib/locale/locale-archive
  16. bacula-sd 5825 root 0r CHR 1,3 1545 /dev/null
  17. bacula-sd 5825 root 1r CHR 1,3 1545 /dev/null
  18. bacula-sd 5825 root 2r CHR 1,3 1545 /dev/null
  19. bacula-sd 5825 root 3u CHR 9,128 6469 /dev/nst0
  20. bacula-sd 5825 root 4u IPv4 1023380 TCP backup:bacula-sd (LISTEN)
  21. bacula-sd 5825 root 5u IPv4 2693268 TCP backup:bacula-sd->backup:53957 (CLOSE_WAIT)
  22. bacula-sd 5825 root 7u IPv4 3248683 TCP backup:bacula-sd->backup:57629 (CLOSE_WAIT)
  23. bacula-sd 5825 root 8u IPv4 3250966 TCP backup:bacula-sd->backup:37650 (CLOSE_WAIT)
  24. bacula-sd 5825 root 9u IPv4 3253908 TCP backup:bacula-sd->backup:37671 (CLOSE_WAIT)

解决方法

你可以删除僵尸/失效进程的唯一方法是杀死父进程.由于父级是init(pid 1),这也会占用你的系统.

这几乎让你有两种选择.

>手动修改流程表,例如.创建一个虚拟进程,将失效进程链接为虚拟对象的子进程,然后将其终止.非常危险,您可能必须手动清理其他进程资源,如信号量和文件句柄.
>重新启动系统.

我会选择第二个.

猜你在找的Linux相关文章