终端后台运行命令


最近写了个服务器程序,需要在终端启动跑起来,但我是用ssh远程到服务器上操作的,断开连接程序也就中断了,网上查了查,实现了让命令后台运行并在前后台切换。

在命令结尾加”&”符号可以让命令在后台运行,

这时可以看到一个命令号和命令,后面是PID,表示正在运行,

输入fg即可将后台命令调回前台, 但如果有多个命令在后台运行,就需要jobs命令,

jobs命令可以列出所有在后台运行的命令及运行状态,

这时使用fg空格后接命令号即可将对应的命令调回前台,

如果一个命令已经在前台运行,又不想结束他,

按Ctrl+Z即可将命令移至后台,

但这时可以看到该命令的状态是Stopped,

这时可以使用bg空格后接命令号将命令置于Runing状态.

上面的方法虽然可以让命令在后台运行,

但是退出登录或者关闭终端,后台的命令也会结束,

如果不想让命令结束就需要nohup了,

在退出后仍想继续运行的命令前面加上nohop空格接命令+&即可。

至于终止当然是kill^_^。

然后用crontab -e加定时任务就OK了。