nohup sh start.sh >/dev/null 2>&1 &


背景说明

start.sh 脚本里,写了Java应用程序启动的相关命令,并且在 log4j.properties 中配置了日志的输出路径。

此时,启动服务的时候,如果使用如下命令,则会在start.sh脚本所在的目录下,产生一个名为 nohup.out 的输出文件。

nohup sh start.sh &

这个多余的 nohup.out 文件是不需要的,可以使用如下命令解决:

nohup sh start.sh >/dev/null >& &

命令解析

1、nohup &

nohup 表示永久运行,& 表示后台运行。

2、>/dev/null 2>&1

/dev/null 代表空设备文件,也就是不输出任何信息到终端。

操作系统中有三个常用的流:
  0:标准输入流 stdin
  1:标准输出流 stdout
  2:标准错误流 stderr

">/dev/null" 等价于 "1>/dev/null",表示标准输出(1)输出到 /dev/null 中,即终端不输出标准输出信息;

"2>&1" 中的 “&” 是等价于的意思,表示 标准错误(2)输出的位置 等价于 标准输出(1)的位置,即等价于 “2>/dev/null”, 即终端不输出标准错误信息。

因此,">/dev/null 2>&1" 表示 标准错误信息和标准输出信息,在终端上均不输出。


3、指定输出文件

如果想要将服务启动和运行过程中的日志信息输出到指定位置(比如:/var/log/start.log),可以参考如下命令:

nohup sh start.sh >/var/log/start.log >& &

最新文章

  1. 前端精选文摘:BFC 神奇背后的原理
  2. eclipse 下找不到或无法加载主类的解决办法
  3. Spring IOC 依赖注入的两种方式XML和注解
  4. 详解spring事务属性
  5. 【Highcharts】 绘制饼图和漏斗图
  6. springMVC+freemarker中Could not resolve view with name... 问题解决
  7. Android 基础组件
  8. 入门前端之HTML
  9. TCP/IP之DNS域名解析系统
  10. 学习MVC之租房网站(十)-预约和跟单
  11. python_cookie
  12. 接口测试——HttpClient工具的https请求、代理设置、请求头设置、获取状态码和响应头
  13. ​Django-model
  14. 酷痞运行于openwrt路由系统
  15. windows上传文件到linux云服务器上
  16. oracle存储过程遇到的问题
  17. ARM DEBUGGER FOR NEARLY ONE DOLLAR
  18. xitong
  19. 2.3 Python语言基础
  20. oracle_How to Recover Data (Without a Backup!)

热门文章

  1. hive-staging文件产生的原因和解决方案
  2. D - Nested Segments CodeForces - 652D (离散化+树桩数组)
  3. Vim——替换命令
  4. CSS3 zoom 属性
  5. CA认证和证书
  6. mysqldump 原理
  7. mysqldump --tab=path参数使用
  8. idea操作mysql数据库添加汉字时出现乱码解决方案
  9. js实现网页上图片循环播放
  10. Android源码开发利器——Java源码调试(基于4.1.2)