首先我之前一直是用&指令让程序后台运行(因为平时一直开ssh,不会切换terminal)
咱们先来看一下三种终止当前任务的方法:
1 直接ctrl + c终止进程
2 直接关闭当前terminal
3 利用kill -9 杀死进程
特点:
1 会把程序的标准输出结果输出在nohup.out文件中
比如说我一个cpp文件向控制台输出Hello World,那么这个Hello World就会出现在nohup.out文件中
2 用ctrl + c可以关闭程序
3 关闭terminal程序仍然可以执行
总结:
在利用nohup的时候,实际上此时terminal是无法输入其他指令的!和我们普通相比最大区别就是我们可以自由关闭当前的terminal而不影响程序执行
特点:
1 会把结果都输出在terminal上,就算我们输入其他运行指令也会显示出来
2 用ctrl + c无法关闭程序,等于程序放在后台执行
3 关闭terminal程序停止
总结:
就是挂起了,但是仍然是标准输出
我们平时一般都采用两种搭配使用,这样完全不影响我们的执行效果,特别是在ssh只有一个终端的情况下非常好用
举个例子:
nohup ./test &