键盘快捷键可以终止包含多个 wgets 的脚本吗?

键盘快捷键可以终止包含多个 wgets 的脚本吗?

我有一个 Python 脚本,它可以加载文件:

for year in range(2010, 2015):
    for month in range(1, 13):
        filename = url
        filename += "/T%s%s_BNFT.CSV" % (year, month)
        os.system('wget %s' % filename)

我正在远程服务器上运行它,并在后台运行它python script_name.py &

如果我需要中途终止此脚本,我会尝试使用,Ctrl+X, Ctrl+C但它似乎只会终止当前的 wget(如果 wget 已在运行,则根本不会终止)。我必须点击 Ctrl+X, Ctrl+C20 或 30 次才能终止脚本。

我也可以打开一个新会话并执行ps aux | grep script_name.py然后kill <pid>终止脚本。但打开新会话既费时又痛苦。

有没有更简单的方法可以使用键盘快捷键来终止后台脚本?或者,有没有办法ps aux从当前会话运行?

答案1

我认为您无法通过键盘快捷键轻松实现这一点。

但是,由于您在后台运行脚本,您不能只运行类似

kill $( ps aux | grep '[s]cript_name' | awk '{ print $2 }' );

在当前会话中?

可以将其放在名为 kill_script_name 的 shell 脚本中以使其更容易

相关内容