【问题标题】:Process killed after closing terminal SSH [closed]关闭终端SSH后进程被杀死[关闭]
【发布时间】:2018-01-16 05:30:43
【问题描述】:

我正在尝试每 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 时,缓存停止被清理,我认为该进程已被终止,请问我该怎么办?

【问题讨论】:

标签: linux ssh cron hosting vps


【解决方案1】:

您的命令将停止执行,因为当您注销时,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 表示脚本生成的所有输出都将被删除。

【讨论】:

【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-23
    • 2021-07-24
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    相关资源
    最近更新 更多