Shell 脚本中后台启动服务& 与 nohup |
您所在的位置:网站首页 › 水痘为什么会越长越多 › Shell 脚本中后台启动服务& 与 nohup |
Shell 脚本中后台启动服务& 与 nohup
最近工作中遇到在shell脚本中启动服务并让服务在后台运行,同时不影响shell脚本向下执行的场景。进行了一些调查,实践,借鉴一些网上的资源进行一个个人的总结,方便以后复习使用。
&
在shell脚本中,需要吧一个任务放在后台运行的时候,通常会使用 & 符号
servicecommand &
# 表示服务启动并在后台运行
此时主进程,即shell脚本继续向下执行,子进程在后台启动运行,另外有这样的写法
nohup servicecommand &
nohup
英文全程,no hang up 不挂起,用于在系统后台不挂断的运行命令,退出终端不会影响程序的运行nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
语法格式
nohup Command [ Arg … ] [ & ] command: 要执行的命令Arg 一些参数,可以指定输出文件& 让命令在后台执行,终端退出后命令仍旧执行 实例 nohup ./bin/hive --service hiveserver start &在终端如果看到以下输出说明运行成功:appending output to nohup.out 如果需要停止后台服务的运行,使用下面的命令抓到 pid 之后使用kill进行删除 ps -aux | grep "hiveserver" # 下面语句亦可 ps -def | grep "hiveserver"参数说明:a: 显示所有程序u: 以用户为主的格式来进行显示x:显示所有程序,不区分终端句 常用写法 nohup db2 start > db2.log 2>&1 & 2>&1 解释 将标准错误 2 重定向到标准输出 &1,标准输出 &1 再被重定向到 db2.log 文件中,通常用来后台启动服务,然后输出log方便进行debug回溯。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |