![键盘快捷键可以终止包含多个 wgets 的脚本吗?](https://linux22.com/image/1442908/%E9%94%AE%E7%9B%98%E5%BF%AB%E6%8D%B7%E9%94%AE%E5%8F%AF%E4%BB%A5%E7%BB%88%E6%AD%A2%E5%8C%85%E5%90%AB%E5%A4%9A%E4%B8%AA%20wgets%20%E7%9A%84%E8%84%9A%E6%9C%AC%E5%90%97%EF%BC%9F.png)
我有一个 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+C
20 或 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 脚本中以使其更容易