我有一个 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 脚本中以使其更容易