Linux - 安全地杀死 apache 拥有的一些进程

发布于 2024-09-25 02:48:04 字数 1853 浏览 3 评论 0原文

我有一堆 apache 拥有的进程,它们运行了好几天,因为它们被卡住了。

apache   11173  0.1  0.0 228248 27744 ?        Ss   Sep27   3:58 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   12609  0.1  0.0 228244 27744 ?        Ss   Sep18  19:30 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   14646  0.1  0.0 228244 27744 ?        Ss   Sep17  21:30 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   15900  0.1  0.0 228244 27744 ?        Ss   Sep20  15:46 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   16169  0.1  0.0 228248 27752 ?        Ss   Sep22  12:16 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   16887  0.1  0.0 228244 27748 ?        Ss   Sep21  14:04 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   16950  0.1  0.0 228244 27744 ?        Ss   Sep28   2:25 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   19195  0.1  0.0 228244 27748 ?        Ss   Sep23  10:29 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   24605  0.1  0.0 228248 27752 ?        Ss   Sep24   8:48 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   26442  0.1  0.0 228244 27744 ?        Ss   03:45   0:50 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   29714  0.1  0.0 228248 27752 ?        Ss   Sep25   7:06 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   31031  0.1  0.0 228248 27752 ?        Ss   Sep26   5:30 php /var/www/html/myproj/symfony cron:aggregation --env=prod  

我需要把他们全部杀掉。显然我想安全地做到这一点。
因此,理想情况下我应该使用类似这样的方法将它们作为 apache 杀死:

kill 11173 

问题是 apache 用户没有 shell。

所以看来唯一的方法就是升级到 root 并以 root 身份杀死进程。但它一点也不安全(我可能会错误地杀死其他进程)。

有人有更好的解决方案吗?

谢谢, 丹尼尔

I have a bunch of processes owned by apache that are running for days because they are stuck.

apache   11173  0.1  0.0 228248 27744 ?        Ss   Sep27   3:58 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   12609  0.1  0.0 228244 27744 ?        Ss   Sep18  19:30 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   14646  0.1  0.0 228244 27744 ?        Ss   Sep17  21:30 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   15900  0.1  0.0 228244 27744 ?        Ss   Sep20  15:46 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   16169  0.1  0.0 228248 27752 ?        Ss   Sep22  12:16 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   16887  0.1  0.0 228244 27748 ?        Ss   Sep21  14:04 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   16950  0.1  0.0 228244 27744 ?        Ss   Sep28   2:25 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   19195  0.1  0.0 228244 27748 ?        Ss   Sep23  10:29 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   24605  0.1  0.0 228248 27752 ?        Ss   Sep24   8:48 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   26442  0.1  0.0 228244 27744 ?        Ss   03:45   0:50 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   29714  0.1  0.0 228248 27752 ?        Ss   Sep25   7:06 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   31031  0.1  0.0 228248 27752 ?        Ss   Sep26   5:30 php /var/www/html/myproj/symfony cron:aggregation --env=prod  

I need to kill them all. And obviously I want to do it safely.
Thus, ideally I should kill them as apache using something like this:

kill 11173 

The problem is that the apache userdoesn't have a shell.

So it seems the only way is escalate to root and kill the process as root. But it is not safely at all (I may kill other processes by mistake).

Has anybody got a better solution?

Thanks,
Daniele

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

黑凤梨 2024-10-02 02:48:04

sudo -u apache Kill 11173

sudo -u apache kill 11173

娇纵 2024-10-02 02:48:04

我猜这应该属于 http://serverfault.com...但是如果你想杀死所有名为 apache,以 root 身份运行 killall apache。或者,使用 su apache 将身份更改为您的 apache 用户,并像您一样使用 kill 终止那里的进程。

This should belong on http://serverfault.com I guess... but if you want to kill all processes named apache, run killall apache as root. Alternatively, change identity to your apache user with su apache and kill your processes there using kill as you did.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文