课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Linux编程开发是目前大多数软件开发程序员都在学习的一个互联网技术,下面我们就通过案例分析来了解一下,Linux后台程序运行方法都有哪些。
1.问题的引入
程序员不能容忍的是在使用终端的时候往往因为网络,关闭屏幕,执行CTRL+C等原因造成ssh断开造成正在运行程序退出,使得我们的工作功亏一篑。
其背后的主要原因在于上述的相关操作,shell默认会发送中断信号给该终端session关联的进程,从而导致进程跟随终端退出,为了弄清这个问题我们先要了解两种中断信号:
1)sigint:signalinterrupt,ctrl+c会发送此信号,主动关闭程序
2)sighup:signalhangup,关闭终端,网络断线,关闭屏幕会发送此挂断信号。
今天就给大家介绍linux中几种后台任务的执行方法避免上述问题。
2&符号
这是一种把&放在执行命令后,使启动的程序忽略sigint信号,此时执行ctrl+c关闭就不会关闭此进程,但是当屏幕关闭,断网仍然会造成进程退出。
3.nohup指令
nohup(nohangup),意思就是不挂断运行,用nohup运行命令可以使命令永久执行下去,和用户终端没有关系,断开SSH不影响运行,nohup捕获了SIGHUP,并做了忽略处理,因此当屏幕关闭,断网等造成ssh中断时进程不会退出。但是ctrl+c可以关闭关闭该进程。因此大多数情况同时使用nohup和&启动的程序,ctrl+c和关闭终端都无法关闭。在缺省情况下所有输出都被重定向到一个名为nohup.out的文件中。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。