关闭终端SSH后进程终止

时间:2018-01-15 20:53:00

标签: linux ssh cron hosting vps

我试图每隔2秒清除服务器上的facebook缓存,所以我登录了SSH并运行了这个命令

while true; do sleep 2; curl -F id="http://twd.ma" -F scrape=true -F access_token='token' -F appID=appID https://graph.facebook.com; done &

每件事都运行良好,缓存开始每隔2秒清理一次。但是,当我关闭终端SSH时,缓存停止被清理,我认为该进程被终止,我该怎么办?

2 个答案:

答案 0 :(得分:0)

您的命令将停止执行,因为当您注销时,shell将丢失。 '&'表示脚本在后台运行"只要shell处于活动状态"

您可以执行以下操作: 将您的脚本写入文件,即clearcache.sh并省略'&'

#!/bin/bash
while true; do
sleep 2
curl -F id="http://twd.ma" -F scrape=true -F access_token='token' -F appID=appID https://graph.facebook.com
done

将脚本的路径写入/etc/rc.local

/path/to/clearcache.sh > /dev/null 2&>1 &

' > / dev / null 2&> 1表示将删除脚本生成的所有输出。

答案 1 :(得分:0)

如果您可以使用screen,则可以通过运行screen启动屏幕会话,运行命令,然后按ctrl-a ctrl-d以分离会话。

稍后登录时,您可以发出screen -r以重新连接到分离的会话。