nohup 和 & 都是后台运行,那两者之间有什么差异呢?
新建脚本test.c,每隔一秒向屏幕中输出“hello world”,当普通执行时,会陷入死循环
#include "stdio.h"
int main()
{
int i = 0
printf("hello world%d\n",i++)
sleep 1
}
程序在执行.test.c,不断的每隔一秒向屏幕打印,键入 Ctrl + C 向Linux 发送SIGINT信号,程序终止
使用nohup ./test.c 时
- 结果输出到nohup.out中
- 使用Ctrl + C 发送SIGINT信号时,程序关闭
- 关闭session发送SIGUP信号时,程序免疫
使用&符号启动后台时
- 结果会输入到终端
- 使用Ctrl + C 发送SIGINT信号时,程序免疫
- 关闭session发送SIGUP信号时,程序关闭
最终结论:
使用nohup + & 的形式来运行程序
认识tmux
一般情况下,当你需要在远程服务器上同时进行多项任务,我们可以在命令后面加上
&
来同时运行多条命令。但是当你想要同时监视每个任务的时候,这就不可行了。又或者可以开多个窗口,来分别执行任务,但是对于不同的窗口,还需要重新SSH连接到远程服务器,大大降低了工作效率,当你桌面上窗口太多的时候,也可能会在找哪个窗口进行哪个任务上浪费大量时间。
什么是tmux?
提供了一种可以快速操作的一种友好的视觉布局,使用起来更为的方便和人工,总体来说是提升效率的工具
等操作之后再具体写一下... 未完待续。。