我想生成一个持久netcat
服务器。我选择的命令如下:
echo "bash -c \"while [ 1 ]; do nc -l -p 1111 >> check; done\"" | at now
我想知道如何获取创建的进程的 PID,at
以便我可以在需要时轻松地将服务器置于睡眠状态。
答案1
由于引用,这有点棘手,请注意从 " 更改为 '
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
(可选)。