因为疫情原因需要远程连接学校的linux主机。
之前一直用Windows的putty,换成mac之后可以直接从终端连接了,方便许多。
但是有一个问题时当这边退出ssh连接以后那边的进程也会中断。要解决这个问题需要用到nohup命令:
nohup [command] &
如此就能保证程序一直在后台运行。要注意使用之后按一下回车,然后输入exit退出终端,否则直接关闭窗口进程也会中断。
运行时因为是后台运行所以看不到输出,输出会保存在该目录的nohup.out中。使用tail命令可以实时显示:
tail -f nohup.out
使用ctrl + c可以退出。
还有一个问题就是我运行的是python程序,会有缓冲导致nohup.out中看不到输出。所以在使用python命令时要加-u取消缓冲:
nohup python3 -u run_sis.py &
想要终止进程可以使用ps查看进程的PID:
ps -aux | grep "run_sis.py"
然后使用kill结束进程:
kill -9 [PID]