linux后台运行命令总结

问题:

我们有时候需要登录远程服务器跑运行时间非常长的脚本,这个时候你要让脚本后台运行,不然占着终端窗口看着不舒服。但万一网络不好,(比如我这儿的破校园网,高峰时几秒钟断一次),终端突然和服务器之间的连接断了,那脚本就会自动停了(因为运行test.sh进程的父进程就是当前的shell终端进程,关闭当前shell终端时,父进程退出,会发送hangup信号给所有子进程,子进程收到hangup以后也会退出)。

解决思路:1. 实现脚本的后台运行

               2.忽略hangup信号,使得终端关闭时,脚本仍在继续运行。

实现脚本后台运行很简单

最简单的后台运行是:&,你可以在命令结束后加一个&,以表示该命令在后台运行而不会占用你的命令窗口:

接下来就是实现忽略hangup 信号

nohup命令:
nohup 是 no hungup的缩写,以为“不挂断”,我们在使用Xshell等工具执行Linux脚本时,有时候会由于网络问题,导致失去连接,终端断开,程序运行一半就意外结束了。这种时候,就可以用nohup指令来运行指令,使程序可以忽略挂起信号继续运行。

nohup和&的区别
&:是指在后台运行,当用户退出(挂起)的时候,命令自动跟着结束

nohup:不挂断的运行,注意并没有后台运行的功能,就是指用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行

因此将nohup和&结合使用,就可以实现使命令永久地在后台执行的功能

在当前shell窗口下使用后台运行命令后可以使用命令 :jobs 来显示当前的后台运行进程。(下面的操作局限于当前窗口的后台)

输出重定向
作业在后台运行的时候,可以把输出重定向到某个文件中,相当于一个日志文件,记录运行过程中的输出。使用方法:

command>out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;

2>&1 是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到out.file文件中。


这些信号中只有第 9 种信号(SIGKILL)才可以无条件的终止进程,其他信号进程都有权利忽略。并且这么多的信号中常用的也不多,下面我们解释几个常用信号的含义。

代号 名称 内容
1 SIGHUP 启动被终止的程序,可让该进程重新读取自己的配置文件,类似重新启动。
2 SIGINT 相当于用键盘输入 [ctrl]-c 来中断一个程序的进行。
9 SIGKILL 代表强制中断一个程序的进行,如果该程序进行到一半,那么尚未完成的部分可能会有“半产品”产生,类似 vim会有 .filename.swp 保留下来。
15 SIGTERM 以正常的方式来终止该程序。由于是正常的终止,所以后续的动作会将他完成。不过,如果该程序已经发生问题,就是无法使用正常的方法终止时,输入这个 signal 也是没有用的。
19 SIGSTOP 相当于用键盘输入 [ctrl]-z 来暂停一个程序的进行。

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。

该命令的一般形式为:nohup command &

使用nohup命令提交作业

如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:

nohup command > myout.file 2>&1 &

后台重定向 文件 说明

Linux - 程序后台运行命令
https://blog.csdn.net/trustnature/article/details/119923211

linux后台运行命令总结相关推荐

  1. linux后台运行命令,nohup

    linux后台运行命令 1.& 当结束终端时,进程就会停止 command & 例子: ./test.sh & 2.nohup 为不挂起进程的意思 如下时会使得应用在关闭终端时 ...

  2. linux+后台运行+nohup,Linux后台运行命令集(、fg、bg、jobs、nohup、ctrl + z)

    Linux后台运行命令集(&.fg.bg.jobs.nohup.ctrl + z) 1).& 命令或进程最后加上"&",可以把此操作放到后台执行: 2).c ...

  3. nohup ——Linux后台运行命令

    在 Linux 终端上执行命令的通常风格是简单地运行它并等待它正常退出,命令退出后,可以继续连续执行其他命令,这就是所谓的在前台运行命令.正如这个词所暗示的那样,您可以在终端上直观地看到命令的输出. ...

  4. linux后台运行命令

    当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件.对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨).为 ...

  5. linux系统让一个命令在后台运行,Linux——Linux后台运行命令详述

    本次主要讲述后台运行命令(crontab,at,&,nohup)及(*,?,[])等 • 设置c r o n t a b文件,并用它来提交作业. • 使用a t命令来提交作业. • 在后台提交 ...

  6. Linux后台运行命令 nohup command myout.file 21

    Linux命令后台运行 转自北国的雨,谢谢:http://www.cnblogs.com/lwm-1988/archive/2011/08/20/2147299.html 有两种方式: 1. comm ...

  7. linux后台运行命令screen的使用

    在我们通过终端或ssh连接服务器使用时候,有时候一个训练程序可能需要训练几天才能完成,但是我们的终端可能会在几个小时后自动断开,就会导致训练程序终止,解决方法就是使用screen工具: 先介绍scre ...

  8. linux后台运行命令和杀除命令

    1.ping 100.102.114.1 > 1.txt & #这时候已经在后台进行了 2.上面的命令敲完之后其实可以看到进程好和id和执行的命令 通过:kill %id         ...

  9. linux关闭后台运行命令,linux后台运行、关闭、查看后台任务常用命令

    一.& 加在一个命令的最后,可以把这个命令放到后台执行,如: [root@bqh-01 ~]# watch -n 3 "sh 1.sh"  #每3s在后台执行一次1.sh脚 ...

最新文章

  1. 2021年大数据Spark(四十八):Structured Streaming 输出终端/位置
  2. 开源!《AI 算法工程师手册》中文教程正式发布!
  3. 培训第二弹:全国大学生智能汽车竞赛百度竞速组预告
  4. Metasploit远程调用Nessus出错
  5. python3 错误string indices must be integers 的解决方法
  6. C++ leetcode 12. 整数转罗马数字 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。
  7. P2024 食物链 (补集)
  8. 【转】visual studio 2010失败或.net framework 4.0 0xc8000247错误解决
  9. mysql数据库sql语句优化
  10. 两个不同的数据库如何跨库事务
  11. 【剑指offer】面试题25:合并两个排序的链表(Java 实现)
  12. mysql Windows导入sql 失败
  13. leetcode 字符串中的第一个唯一字符
  14. openssl、libosip2、libeXosip2三个库的编译过程
  15. java nio 多路复用_8分钟深入浅出搞懂BIO、NIO、AIO
  16. 蓝桥杯 ALGO-31算法训练 开心的金明(01背包,动态规划)
  17. 安装指定的vue-router版本
  18. Java8新特性详解
  19. 微信公共平台开发(一):服务器配置
  20. MER:高通量测序应用于病原体和害虫诊断——综述与实用性建议

热门文章

  1. 其他手机怎么安装鸿蒙系统,国内其它的手机厂家不想安装鸿蒙吗?
  2. aspose.cad使用工具类,及遇到的问题
  3. python 字典生成树状图
  4. python根据文本特征进行切块处理
  5. word中插入的图片的环绕方式
  6. Docker学习之路05:五分钟用docker compose搭建一个自己的个人博客网站!
  7. java学习之心得体会
  8. python零基础入门pdf-零基础入门学习Python PDF 扫描版
  9. iOS开发-小白(新手)必看,基础常识
  10. Sketch: Creating Vector Graphics Sketch教程:创建矢量图形 Lynda课程中文字幕