基础

在linux终端或控制台上执行命令时,可能不希望脚本占住屏幕需要在后台执行脚本,有几种方法让脚本在后台执行:

  • &

    当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上& 实现后台运行。例如:sh test.sh &

    需要用户交互的命令不要放在后台执行,不过,作业在后台运行一样会将结果输出到屏幕上,如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中:

    command  >  out.file  2>&1  &

    这样,所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件中。

    成功地提交进程以后,会显示出一个进程号,可以用它来监控或杀死该进程。(ps -ef | grep 进程号 或者 kill -9 进程号)

  • nohup

    使用&命令后,作业被提交到后台运行,当前控制台没有被占用,但是一但把当前控制台关掉(退出帐户时),作业就会停止运行。nohup命令可以在你退出帐户之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。该命令的一般形式为:

    nohup command &

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

    nohup command > myout.file 2>&1 &

    使用nohup之后有可能在当前账户非正常退出或结束的时候,命令还是会自己结束。所以在使用nohup命令后台运行后,需要使用exit正常退出当前账户,这样才能保证命令一直在后台运行。

2>&1解析

command >out.file 2>&1 &
  • command>out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
  • 2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个&, 是让该命令在后台执行。
  • 0 ,1,2分别代表stdin标准输入,stdout标准输出,stderr标准错误 ,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出。

最新文章

  1. ElasticSearch已经配置好ik分词和mmseg分词(转)
  2. 解析利用wsdl.exe生成webservice代理类的详解
  3. 元数据集 DatabaseMetaData ResultSetMetaData
  4. android:descendantFocusability=”blocksDescendants”的用法
  5. Oracle的数据恢复——Flashback用法汇总
  6. IO操作 第一篇 学习(转载)
  7. clientX/Y,pageX/Y,offsetX/Y,layerX/Y,screenX/Y ,offsetTop,offsetLeft 详解
  8. span元素之间的间距
  9. c,assert 宏的实现
  10. 局域网连接SQL Server数据库配置
  11. 微信客户端+微信公众平台+新浪云SAE+Arduino+WS100(控制LED)
  12. [转]解决error: "net.ipv4.netfilter.ip_conntrack_max" is an unknown key错误
  13. 查询优化--ORDER BY查询优化
  14. nginx----------前端写了一套带有vue路由的的功能。放到nginx配置的目录下以后,刷新会报404未找到。
  15. Linux mail 邮件发送
  16. Java学习---异常处理
  17. Method 'initializationerror' not found.Opening the test classs JUnit4单元测试报错问题解决办法(图文详解)
  18. RHEL7--linux系统启动流程与故障排除
  19. oracle获取执行计划及优缺点 详解
  20. 关于使用_bstr_t的一个坑

热门文章

  1. PAT甲级1019水题飘过
  2. dfs 二叉树中序遍历迭代解法——求解BST中第k小元素
  3. Linux学习26-linux查看某个时间段的日志(sed -n)-史上最详细
  4. Swagger 学习资料
  5. java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
  6. [Algorithm] Bitwise Operators
  7. nave node 的虚拟环境管理工具
  8. zabbix_server [22842]: cannot open log: cannot create semaphore set: [28] No space left on device
  9. 鸿蒙OS
  10. [HNOI2016]序列 CDQ+DP