linux 运行、关闭、查看后台任务

在实际使用shell 过程当中,一些须要耗时较长的处理过程,最好是放到后台执行,从而使咱们可以在终端执行更其余须要更多关注的操做。下面整理了一些关于后台执行任务的相关命令。html

1、运行后台任务

  • 方法一:使用&

& 加在一个命令的最后,能够把这个命令放到后台执行linux

注意:redis

1.若是关闭当前终端,将没法维护后台任务的执行
2.须要用户交互的命令不要放在后台执行

好比这里把redis服务的启用的脚本写到了redis-service-startup.shshell

# 后台运行
./redis-service-startup.sh &
  • 方法二:使用nohup

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

# nohup 后台运行
nohup ./redis-service-startup.sh &

2、使用 jobs 查看后台任务

jobs -l
# 查询结果
[1]+   789 Running ./redis-service-startup.sh &  (wd: ~/Documents/dev-scripts)

[1] 中表示该任务的job number 是 1。code

3、使用kill中止后台任务

若是要中止该任务,可使用kill 命令,结合上面的jobnumberhtm

# 中止jobnumber = 1的后台任务
kill %1

当使用nohup 后,关闭控制台后,后台任务仍然执行,这时候只能经过ps 命令查看咱们执行的任务的进程号, 而后再经过kill -9 进程号 杀死进程blog

其余相关命令延伸:
  • ctrl + c 终止前台命令
  • ctrl + z 将正在执行的任务放到后台执行
  • fg (fg %jobnumber) 将任务从后台调往前台
  • bg (bg %jobnumber) 将后台暂停的任务变成执行任务
参考连接
相关文章
相关标签/搜索