CentOS遇到了一个杀不死的进程

centOS服务器上有一个叫python进程的,一直占用3200%的CPU,而且每次kill掉都会过几秒钟重新出现。。

img

然后我查了一下他的父进程,是systemd

img

img

请问一下大家这怎么搞啊,怎么把它kill掉呀QAQ

引用 皆我百晓生 小程序回复内容作答:
这种情况可能是由于某个程序或脚本在循环运行导致的。你可以尝试以下方法来解决这个问题:

  1. 使用top命令查看该进程的PID(进程ID),然后使用kill -9 PID命令强制终止该进程。如果进程仍然重新出现,可能是因为有其他进程在重新启动它。

  2. 使用systemctl命令停止和禁用与该进程相关的服务。例如,如果该进程是由名为python.service的服务启动的,可以使用以下命令停止和禁用该服务:

    systemctl stop python.service
    systemctl disable python.service
    
  3. 检查是否有其他程序或脚本在不断启动该进程。你可以使用ps -ef | grep python命令查找与该进程相关的其他进程,并尝试找出是哪个程序或脚本在启动它。然后,你可以停止或禁用该程序或脚本。

  4. 检查系统日志,查看是否有关于该进程的错误或异常信息。你可以使用journalctl命令查看系统日志。例如,使用以下命令查看最近的系统日志:

    journalctl -xe
    

如果以上方法都无法解决问题,你可能需要进一步调查该进程的来源和原因。你可以尝试使用工具如stracelsof来跟踪该进程的系统调用或查看它打开的文件。另外,你也可以考虑更新系统和相关软件包,以确保你使用的是最新版本,其中可能已修复了类似的问题。

【以下回答由 GPT 生成】

解决方案:

  1. 首先,你可以试着找出导致该进程不断重新启动的原因。通过查看该进程的日志文件,你可以获取更多关于这个进程的信息。你可以使用以下命令来查看进程的日志文件: $ journalctl -u python.service

  2. 如果你找不到该进程的日志文件,你可以尝试通过systemd的Debug功能来获取更多的调试信息。使用以下命令开启Debug模式: $ sudo systemctl debug python.service

  3. 接下来,你可以创建一个自定义的systemd服务单元文件来控制这个进程。你可以使用systemctl edit命令来创建它: $ sudo systemctl edit --force --full python.service

这个命令会打开一个文本编辑器,你需要在其中添加以下内容: [Service] ExecStop=/path/to/kill_script.sh

其中/path/to/kill_script.sh是你自定义的一个脚本文件,该脚本文件用来真正地终止这个进程。

  1. 创建一个名为kill_script.sh的脚本文件,并添加以下内容: bash #!/bin/bash /usr/bin/killall python

这个脚本使用killall命令来杀死所有名为python的进程。

  1. 保存脚本文件并退出编辑器。然后重新加载systemd配置: $ sudo systemctl daemon-reload

  2. 最后,停止并禁用原始的python服务单元: $ sudo systemctl stop python.service $ sudo systemctl disable python.service

这将确保原始的python服务不再自动启动。

以上是一种可能的解决方案,通过创建一个自定义的systemd服务单元文件来控制这个进程,并使用自定义的脚本来终止它。然而,如果该进程由其他机制启动或自动重启,上述方法可能无效。在这种情况下,你可能需要查找其他可能的启动该进程的机制,并进行相应的调查和修复。

希望对你有所帮助!如果你还有其他问题,请随时提问。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

你这是根本没吧这个进程杀死,kill -9 35937吧线程彻底杀死,然后看看还自启不