Linux 重启systemd 进程

当升级库文件后,那些使用该库的服务需要重启后才会真正使用该库文件中的内容。一个常用的方法是直接重启系统,这样所有服务在启动时自然使用的是最新库的内容,但是作为服务器是不可能允许随意重启的,那么在不重启的情况下如何找出受到影像的服务呢?

这里有个简单的方法:

sudo lsof -d 'DEL' | grep 'lib' | cut -f 1 -d ' ' | sort -u

原理就是用 lsof 查出所有 FD 为 DEL(已删除的映射文件) 且路径中带 lib 的命令。然后就可以使用 systemctl restart 重启服务了。

不过 systemd 本身作为1号进程不能通过 systemctl restart 来进行重启,而需要使用 sudo systemctl daemon-reexec 来重启。

当然,我们如果修改了某些系统文件,如/etc/ssh/sshd_config  、/etc/systemd/user.conf 或者、/ect/systemd/system.conf 等文件,也可以执行

systemctl  daemon-reexec 

你可能感兴趣的:(linux,服务器,运维)