Linux中后台执行任务
执行时, 可以在命令最后添加 & 使其后台执行, 但是其输出依然会显示, 而且其运行是和当前shell绑定的
如果脚本已经运行, 可以使用Ctrl-Z暂停, 然后使用 bg 让其转入后台, 再 disown 解除关联, 例如:
^Z
[]+ Stopped make -j2
[tomcat@n00 master]$ bg
[]+ make -j2 &
# 注意: disown之后, 此任务将不出现于jobs, 也不能再转回前台, 但是输出依然是和当前shell绑定的
[tomcat@n00 master]$ disown
[tomcat@n00 master]$ exit
查看在后台运行的任务
jobs -l
# -l: 用于显示任务的 process id
将后台任务转回前台
%process-id
# or
fg process-id
如果要在屏显的同时记录日志, 通过tee命令
$ make -j2 | tee output.log
对于需要在关闭shell后还需要继续执行的任务, 需要使用nohup, 例如
nohup make -j1 TARGET_DEVICES=y1 > ~/openwrt/logs/.log >& &
# 其中执行的命令是"make -j1 TARGET_DEVICES=y1"
上面的命令会将输入记录到log文件. 对于上面的命令的解释:
bash 中 0, 1, 2 三个数字分别代表 STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO, 即标准输入(一般是键盘), 标准输出(一般是用户终端控制台), 标准错误(出错信息输出)
0 标准输入 (一般是键盘)
1 标准输出 (一般是用户终端控制台)
2 标准错误 (出错信息输出)
输入重定向, 例如 cat < test.c 将 test.c 重定向为 cat 命令的输入源.
输出重定向, 用其他输出目标替换标准输出, 例如 ls > 1.txt 将 ls 的结果从标准输出重定向为 1.txt 文本. 有时候会看到如 ls >> 1.txt这类的写法, >> 的区别在于 > 用于新建而 >> 用于追加, 即 ls > 1.txt 会新建一个 1.txt 文件并且将 ls 的内容输出到新建的 1.txt 中, 而 ls >> 1.txt 则用在 1.txt 已经存在而我们只是想将 ls 的内容追加到 1.txt 文本中的时候
Linux中后台执行任务的更多相关文章
- linux 命令后台执行
我想把updatedb命令(用于重新建立整盘索引的命令)放在后台运行.因为我不想眼睁睁的看着机器建立索引,我还想编会儿程序呢: # updatedb & [1] 23336 注释:在所要执行的 ...
- Linux命令后台执行技巧小结
1.最简单的方法: command & 例如: top & 此时显示job编号和后台进程号 [] 2.正在运行的程序放入后台 Ctrl - Z 3.查看有哪些后台进程及状态 jobs ...
- linux命令后台执行
fg.bg.jobs.&.nohup.ctrl+z.ctrl+c 命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如 watch -n 10 sh test.sh &am ...
- python脚本linux上后台执行
1.脚本后加& 加了&以后可以使脚本在后台运行,这样的话你就可以继续工作了.但是有一个问题就是你关闭终端连接后,脚本会停止运行 python3 run.py >/dev/null ...
- Linux中为什么执行自己的程序要在前面加./
前言 在Linux中,我们执行内置命令时,直接输入命令名称即可,如: $ mv a b #将a重命名为b 而在执行自己写好的程序时,却要带上./,例如: $ hello hello: comm ...
- linux下后台执行shell脚本nohup
(一)使用nohup后台执行脚本 脚本执行结果记录到nohup.out文件中 (二)使用&后台执行脚本 使用&符号在后台执行命令或脚本后,如果你退出登录,这个命令就会被自动终止掉
- Linux的后台执行进程之nohup
nohup 用途:LINUX命令用法,不挂断地运行命令. 语法:nohup Command [ Arg ... ] [ & ] 描述:nohup 命令运行由 Command 参数和任何相关 ...
- Linux中exec()执行文件系列函数的使用说明
函数原型: 描述: exec()系列函数使用新的进程映像替换当前进程映像. 工作方式没有什么差别, 只是参数传递的方式不同罢了. 说明: 1. 这6个函数可分为两大类: execl( ...
- shell 脚本中后台执行命令 &
最近遇到一个问题, 执行脚本,脚本调用 一个命令,命令(deamon)是一个守护进程,为了调试,取消了守护进程模式.导致命令后边的其他命令(echo "456")都无法执行. de ...
随机推荐
- docker certificates
x509: certificate is valid for mmtrkjy.com, *.mmtrkjy.com, *.mmtrkmc.com, *.mmtrkpd.com, *.mmtrksg.c ...
- iOS真机测试中出现dyld`dyld_fatal_error错误
最近进入一家新公司,接手了一个之前由外包公司承接的项目.首先吐槽一下项目质量,哎毕竟也憋了很久了. 1.上手项目是打不开的,所有framework静态库全体飘红,一编译七八十错误.最终是偷懒还是什么就 ...
- sql server 2005导出数据
*/ EXEC sp_configure 'show advanced options', 1 GO */ 配置选项 'show advanced options' 已从 0 更改为 1.请运 ...
- IDA_Python命令行使用
Python>import idaapi Python>hex(idaapi.get_first_cref_from(here()))
- shell写多行到文件中
用cat或者echo命令输入多行数据到指定文本 #!/bin/sh ( cat <<EOF start() { echo "start" } EOF ) > Ma ...
- 通过ReconstructMe实现3D扫描
实物3D建模 目前在3D游戏制作过程中,需要专业人士花几天甚至数星期的时间,借助于Autodesk 3ds Max和Maya等昂贵的软件工具制作3D模型.纹理和动画.游戏制作中经常使用一种方法,即设计 ...
- 设置自己Eclipse代码风格(内部)
http://www.cnblogs.com/farseer810/p/4391318.html 经过这几次的代码提交,发现很多人的代码风格不够规范.个人认为很有必要强制性规定一下代码的规范. 整体来 ...
- MoQ(基于.net3.5,c#3.0的mock框架)简单介绍
我们在做单元测试的时候,常常困扰于数据的持久化问题,很多情况下我们不希望单元测试影响到数据库中的内容,而且受数据库的影响有时我们的单元测试的速度会很慢,所以我们往往希望将持久化部分隔离开,做单元测试的 ...
- 【转】bootstrap 的 affix.js 插件
我觉得 Twitter Bootstrap 提供的 JavaScript 插件可用性非常高,但文档多数简单.按部就班操作了,有效果当然好,没效果的话简直不知道为什么.之前我写过 Scrollspy 用 ...
- 剑指offer 二叉搜索树与双向链表
html, body { font-size: 15px; } body { font-family: Helvetica, "Hiragino Sans GB", 微软雅黑, & ...