作者:liu-zebing_284 | 来源:互联网 | 2022-12-06 17:29
我正在编写一个将作为init执行的Linux C程序.它最终将需要关闭系统.我有代码来卸载所有文件系统并实际关闭系统; 现在我只需要一种方法将它发送SIGTERM
到所有进程sleep(5)
,然后发送SIGKILL
到任何剩余的进程.
1> 小智..:
如果pid为-1:如果用户具有超级用户权限,则信号将发送到除系统进程和发送信号的进程之外的所有进程.如果用户不是超级用户,则将信号发送到具有与用户相同的uid的所有进程,不包括发送信号的进程.如果可以发出任何信号,则不会返回任何错误.
使用-1作为pid会将信号发送到调用进程有权限的每个进程,例如,不包括进程1
#include
#include
#include
...
kill(-1, SIGTERM);
sleep(5);
kill(-1, SIGKILL);
谨慎使用.