获取 nohup 放置后台的程序的 PID

可以使用 nohup 将某一程序放置在后台一直运行,就像一个服务那样。

如果在一个脚本中这么做,想要获得被放置在后台的服务 PID 的话,可以这样做:

#!/bin/sh

Server=(my_server_1 my_server_2 ... )
for server in ${Server[*]}
do
    > ../Server_PID.now
    nohup ./$server &
    ps -elf | awk '$5=='$$' && $NF~/^\.\/'$server'$/ {print "'$server'",$4}' >> ../Server_PID.now
done

这样,每启动一个服务,那么该服务的服务名和 PID 就都被写入了 ../Server_PID.now 文件中。

评论

此博客中的热门博文

【转】【科幻小说】万事通外星人,真真正正的无所不知

EmEditor : 保存、恢复并保持撤销信息

梦的记录 2025-05-17 早