• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

Linux中运行程序的一些方法介绍

开发技术 开发技术 2周前 (05-04) 6次浏览

1.存在的问题

我们常常需要连接远程服务器,在服务器上运行我们的程序,当程序运行时间不长的时候我们完全可以等待其运行完成。但当程序运行时间特别长的时候,我们和服务器的连接不可能一直建立,所以这个时候在后台进行程序的执行就会显得特别重要。一般情况下,我们使用ssh连接远程服务器时,如果由于网络问题或者其他问题造成连接中断,终端会收到 HUP(hangup)信号从而关闭其所有子进程,就会使我们的程序运行中断,这也不是我们想要的结果。

2.相关命令的介绍

Ctrl+c:该命令是强制终止程序的执行;

Ctrl+z:该命令是中断任务执行,但是该任务并没有结束,进程仍然存在只是被挂起的状态;

jobs:该命令用来查看后台被挂起的任务,命令执行后会显示进程对应的作业号,注意作业号和进程号是不一样的;

bg:该命令用来将挂起的命令继续在后台执行,相当于原来的命令加了&。使用时在后面加上对应的作业号;

fg:该命令用来将挂起的命令继续在前台执行,使用时在后面加上对应的作业号;

3.nohup命令

该命令的用途就是让提交的命令忽略 hangup 信号,使用的时候加在相应的命令前面就可以,一般情况下会结合&使用。
这种情况下就会使程序在后台运行,并且不会受到因为网络问题造成连接中断的影响,并且会将程序运行结果输出到nohup.out文件中。

4.结果输出到文件中

平常我们执行程序的时候都会将结果直接显示在前台终端界面,即使我们将程序在后台运行,程序的结果也还是会在界面上打印,如果我们不想受到这样的影响,可以是结果定向输出到文件中以方便后面的查看,具体的方法是使用>操作符,后面跟着结果文件,如果我们是想实现追加的效果就需要使用>>操作符。


程序员灯塔
转载请注明原文链接:Linux中运行程序的一些方法介绍
喜欢 (0)