服务器上跑main.py脚本,发现显存不够或参数设置错误,想要中断程序。
正常情况下 ctrl+c 即可中断程序,重新输入main.py命令。
如果ctrl+c无法中断,不小心按到了ctrl+z(强制结束命令,实际是中断程序进入休眠,将显卡上的进程切入了挂起状态;可以将一个正在前台执行的命令放到后台,并且处于暂停状态,不可执行)此时先开依然被占用,无法进行下一个脚本的运行。此时需要知道下面三个命令:
1、jobs
查看当前有多少在后台运行的命令
jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated,但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识;也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息;
2、fg
将后台中的命令调至前台继续运行
如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
3、bg
将一个在后台暂停的命令,变成继续执行 (在后台执行)
如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid),将任务转移到后台运行。
或者在screen窗口内运行main.py程序,程序跑到一半时错误地将ctrl+z当做了强制结束命令将显卡上的进程切入了挂起状态,随后又将整个screen窗口进程kill掉了(ctrl+d,显示exit是直接把screen 给kill掉了)。
利用top查看进程的状态和相应的pid号
然后,利用kill 31237 既可以杀死进程,并且释放显存。