Linux

獲取通過 at 執行的長時間執行命令的 pid

  • August 25, 2016

我想生成一個持久netcat伺服器。我選擇的命令如下:

echo "bash -c \"while [ 1 ]; do nc -l -p 1111 >> check; done\"" | at now

我想知道如何獲取創建的程序的 PID,at以便在需要時輕鬆使伺服器進入睡眠狀態。

由於引用,這有點棘手,請注意從 " 更改為 '

如果您at通過以下方式送出工作,以下將起作用at -f file

at -f nc.on now
cat nc.on
bash -c 'while [ 1 ]; do echo $$ > /var/run/atnc.pid; nc -l -p 1111  >> check; done'

該文件/var/run/atnc.pid將具有正在執行 nc 的 bash 的程序 ID

您可以 cat 文件以獲取 bash 程序 ID 並終止它,終止 nc。然後rm /var/run/atnc.pid (可選)。

引用自:https://unix.stackexchange.com/questions/27319