Linux 工作管理 (job control)
2024-09-01 15:43:59
fg , bg
有时,命令需要很长的时间才能执行完成。对于这种情况,我们使用‘bg’命令可以将任务放在后台执行,而用‘fg’可以调到前台来使用。
我们可以通过‘&’在后台启动一个程序:
find . -name *iso > /tmp/res.txt &
一个正在运行的程序也可以通过“CTRL+Z”和“bg”命令组合放到后台运行。
find . -name *iso > /tmp/res.txt & - 启动一个程序
ctrl+z - 挂起当前执行程序
bg - 将程序放到后台运行
我们可以使用‘jobs’命令列出所有后台进程。
jobs
使用‘fg’命令可以将后台程序调到前台执行。
fg %进程id
nohup方式:
但是我们很多程序并不象mysqld一样可以做成守护进程,可能我们的程序只是普通程序而已,一般这种程序即使使用 & 结尾,如果终端关闭,那么程序也会被关闭。为了能够后台运行,我们需要使用nohup这个命令,比如我们有个start.sh需要在后台运行,并且希望在后台能够一直运行,那么就使用nohup:
nohup /root/start.sh &
在shell中回车后提示:
[~]$ appending output to nohup.out
原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。
centos 7 遇到的问题记录:
加nohup的效果:
nohup ./sleep500.sh 2>&1 #默认输出到nohup.out
nohup ./sleep500.sh 2>&1 #默认输出到nohup.out
nohup ./sleep500.sh > my.file 2>&1 & #重定向到my.file
nohup ./sleep500.sh > my.file 2>&1
执行命令后,关闭终端或者exit,程序都能继续执行,最终打印输出到文件中。
而不加nohup的效果:
./sleep500.sh > my.file 2>&1 & #重定向到my.file
./sleep500.sh > my.file 2>&1
在执行命令后,关闭终端和exit的效果是不一样的。
关闭终端:则程序 直接被终端,结果打印不会输出到文件中;
exit:则程序仍会继续执行,结果打印会输出到文件中。
附:nohup命令参考
nohup 命令
用途:不挂断地运行命令。
语法:nohup Command [ Arg ... ] [ & ]
描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示"and"的符号)到命令的尾部。
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。
退出状态:该命令返回下列出口值:
126 可以查找但不能调用 Command 参数指定的命令。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
nohup命令及其输出文件
nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。
该命令的一般形式为:nohup command &
使用nohup命令提交作业
如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
nohup command > myout.file 2>&1 &
最新文章
- Bootstrap3 CSS样式基本用法总结
- [深入Python]Python的私有变量
- Orchard Platform v1.7.2 发布
- ruby -- 进阶学习(二)paperclip上传图片
- Nde模块篇
- Google Polymer以及Web UI框架
- Unity3D 之UGUI 滚动条
- 【转】SQL删除重复数据方法
- 关于js中的类型内容总结(类型识别)
- ZOJ 3913 Bob wants to pour water
- 配置 Gitblit 进行 Git 代码管理
- H5移动端开发入门知识以及CSS的单位汇总与用法
- 如何写一个SSH项目(三)如何进行交互的
- Beta冲刺 第六天
- 多线程之Synchronized锁的基本介绍
- Mysql数据库每天定时执行备份方法
- oracle 12c 12.1.0.2.0 BUG 22562145
- 关于Nginx
- Win7 启动修复
- MySQL · 最佳实践 · 分区表基本类型
热门文章
- python的logging日志模块(二)
- python原生操作mysql
- 011_STM32程序移植之_内部flash开机次数管理
- Gradle 如何配置将编译的 JAR 发布到 Archiva 中
- LibreOJ #102. 最小费用流
- Try-Catch-Finally代码块中的return
- AGC023C Painting Machines
- linux提权方法(不断总结更新)
- fastjson序列化和反序列化报com.alibaba.fastjson.JSONException: autoType is not support异常问题,解决方案整合
- [GIT]比较不同分支的差异