最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 服务器 > 系统运维 >
分享linux后台符号、nohup等使用方式
CSDN发表于 2020-09-22 16:13 次浏览
本文介绍了linux下nohup命令和后台运行符&的使用,需要的朋友可以参考下

1.nohup 的使用

作用:当你在终端执行命令脚本,当脚本没有执行完,如果你关闭终端,那么跟随这个终端有关的进程都会退出执行,nohup 命令的作用就是让使用此命令的脚本可以脱离终端继续执行,不受终端退出的影响。

命令:
nohup bash shell_script.sh
nohup ./shell_script.sh

示例脚本:shell_script.sh
打印1-20的整数,打印时间间隔为1s

  • 1#!/bin/bash
  • 2for t in {1..20}
  • 3do
  • 4  sleep 1
  • 5  echo $t
  • 6done

执行:

使用nohup命令执行脚本后你会发现,此时终端处于不可交互状态(不能输入命令),要等待脚本执行完才会切换为可交互。此时终端不会有打印,打印被追加重定向到脚本所在目录的nohup.out中去了(如果在此目录下使用nohup命令执行多个脚本,则nohup.out打屏日志会出现重叠,建议相同目录执行多个脚本的时候自己重定向,之后可以关闭终端,查看打屏输出可以另外开启终端执行:tail -f nohup.out)。在此时终端ctrl+c,可停止进程,如果关闭终端,则此脚本会继续执行直至结束。

关闭终端后执行结果的输出:脚本执行完毕

在同一个目录使用nohup执行多个脚本:nohup.out输出重叠

2.后台运行符 &的使用

作用:在终端执行命令时,以后台进程来执行脚本或者命令,不会影响你接下去的命令输入执行

命令: bash shell_script.sh & ./shell_script.sh &

示例脚本:shell_script2.sh

  • 1#!/bin/bash
  • 2for t in {1..20}
  • 3do
  • 4  sleep 1
  • 5  echo $t
  • 6done > result.txt

执行:

可以看到在执行命令:bash shell_script2.sh & 后终端还是可以交互输入的。并没有等到脚本执行完才能输入。返回的4480是后台运行脚本的进程号。终止此进程可以使用kill -9 4480 如果你在后台4480进程没有执行完前关闭此终端,则此进程会结束。这个就是和nohup命令不同的地方。

3.总结

在实际使用的过程中两个集合使用更加方便: nohup bash shell_script.sh & 当你在使用xshell 或者MobaXterm等终端模拟软件打开多个终端执行命令的时候就可以使用上述的命令,这样就不会有N个窗口打开着挂载着任务了,眼不见心不烦

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐
2020-09-18 16:12:05 关键词:linux常用命令
摘要:文件归档命令tar,文件归档有好多好处,方便使用易于管理,接下来通过本文给大家分享linux文件的归档和压缩命令,感兴趣的朋友一起看看吧。 一、归档与压缩的含义 1、归档 将许多零..
2020-08-31 17:41:16 关键词:linux是什么
摘要:linux命令是很多程序都需要用到的,那么对于一些新手来说linux常用命令还是有些陌生,今天我们来看看linux常用命令有哪些? 前言: 一、本文特点 授之以渔:了解命令学习方法、用途..