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

fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令

一、&

加在一个命令的最后,可以把这个命令放到后台执行,如

watch  -n 10 sh  test.sh  &  #每10s在后台执行一次test.sh脚本

二、ctrl + z

可以将一个正在前台执行的命令放到后台,并且处于暂停状态。

三、jobs

查看当前有多少在后台运行的命令

jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。也就是说,jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息;

四、fg

将后台中的命令调至前台继续运行。如果后台中有多个命令,可以用fg %jobnumber(是命令编号,不是进程号)将选中的命令调出。

五、bg

将一个在后台暂停的命令,变成在后台继续执行。如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出。

将任务转移到后台运行:

先ctrl + z;再bg,这样进程就被移到后台运行,终端还能继续接受命令。

概念:当前任务

如果后台的任务号有2个,[1],[2];如果当第一个后台任务顺利执行完毕,第二个后台任务还在执行中时,当前任务便会自动变成后台任务号码“[2]” 的后台任务。所以可以得出一点,即当前任务是会变动的。当用户输入“fg”、“bg”和“stop”等命令时,如果不加任何引号,则所变动的均是当前任务

六、kill

  • 法子1:通过jobs命令查看job号(假设为num),然后执行kill %num
  • 法子2:通过ps命令查看job的进程号(PID,假设为pid),然后执行kill pid

前台进程的终止:Ctrl+c

kill的其他作用

kill除了可以终止进程,还能给进程发送其它信号,使用kill -l 可以察看kill支持的信号。

SIGTERM是不带参数时kill发送的信号,意思是要进程终止运行,但执行与否还得看进程是否支持。如果进程还没有终止,可以使用kill -SIGKILL pid,这是由内核来终止进程,进程不能监听这个信号。

七、nohup

如果让程序始终在后台执行,即使关闭当前的终端也执行(之前的&做不到),这时候需要nohup。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。关闭中断后,在另一个终端jobs已经无法看到后台跑得程序了,此时利用ps(进程查看命令)

ps -aux | grep "test.sh" #a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • linux服务器后台设置小技巧

    1.如何快速安装游戏服务器:  发布目录所有游戏添加之后,在游戏发布目录会生成一个gamelist.ini,里面就是记录这个发布目录的所有游戏信息.如果装其他游戏资源服务器时,直接将这些游戏按原来结构放到一个发布目录下,然后直接将gamelist.ini放到发布目录中即可.或者将发布目录下所有文件克隆,作为备份. 2.游戏图标不满意?  可以通过以下方式自定义游戏图标:  (2-1)在游戏目录中,制作一个只包含一个32*32的真彩色图标文件ico.命名为:游戏名称.ico(游戏名称就是在客户端看

  • 方便快捷—活用Linux操作系统的后台任务

    文/佚名 Linux作为一个多任务环境,允许用户同时执行多项任务,例如查看系统情况.备份资料.编辑文件和打印文件等. 对于耗时长的任务不应该让它在前台任务中执行,而应该交给后台任务去执行.这样前台任务可继续正常运作其它的操作,不用等待.示例如下: # find / -name testing & # fg 如果想要让上面例子中的任务转为后台执行,就使用"& ".不过,由于是后台执行的,所以该程序的输出并不会出现在屏幕上.当用户将数个任务放到后台任务执行时,要如何去管理这

  • linux 后台日志 mysql 错误异常的解释(推荐)

    1.Caused by: com.MySQL.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 56,201,339 milliseconds ago.  The last packet sent successfully to the server was 56,201,339 milliseconds ago. is longer t

  • 详解linux后台运行和关闭、查看后台任务

    fg.bg.jobs.&.nohup.ctrl+z.ctrl+c 命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如 watch  -n 10 sh  test.sh  &  #每10s在后台执行一次test.sh脚本 二.ctrl + z 可以将一个正在前台执行的命令放到后台,并且处于暂停状态. 三.jobs 查看当前有多少在后台运行的命令 jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated.但是如

  • 详解Linux中查看jdk安装目录、Linux卸载jdk、rpm命令、rm命令参数

    一.查看jdk安装目录 [root@node001 ~]# whereis java java: /usr/bin/java /usr/local/java #java执行路径 [root@node001 ~]# which java /usr/bin/java #查看JDK安装路径 [root@node001 ~]# echo $JAVA_HOME /usr/local/java/jdk1.7.0_80 [root@node001 ~]# echo $PATH /usr/local/sbin:

  • 详解Linux 主机网络接入配置

    详解Linux 主机网络接入配置 前言: 网络配置是我们在安装好操作系统之后,需要解决的第一步.现时代没有接入网络的主机已然等同于一堆废铁.在网络配置的过程中,通常我们需要配置本机IP地址,缺省网关,DNS,主机名等等.本文主要描述在Linux环境下,主要以传统命令行方式讲解如何将主机接入网络.对于网路配置的新命令如ip,nmcli等等在以后的文章中描述. 一.网络配置概述 主机接入互联网前提:遵循TCP/IP协议栈 配置主机接入TCP/IP网络需要配置的内容:   IP/Netmask   路

  • 详解Linux下调试器GDB的基本使用方法

    一.概述 GDB调试的三种方式: 1. 目标板直接使用GDB进行调试. 2. 目标板使用gdbserver,主机使用xxx-linux-gdb作为客户端. 3. 目标板使用ulimit -c unlimited,生成core文件:然后主机使用xxx-linux-gdb ./test ./core. 二.gdb调试 构造测试程序如下main.c和sum.c如下: main.c:#include <stdio.h> #include <stdlib.h> extern int sum(

  • 详解Linux命令iostat

    Linux系统出现了性能问题,一般我们可以通过top.iostat.free.vmstat等命令来查看初步定位问题.在一个以前看到系统监控工具,总在想那些监控工具的代理,如何收集系统性能信息,io性能,cpu使用,带宽使用等信息,偶然发现,不同系统均提供有性能分析工具的,代理可通过这些命令获取系统性能信息,个人猜测,不知道具体是不是这样的.其中iostat可以给我们提供丰富的IO状态数据,下边就来看一下iostat如何使用,命令能够输出那些信息. 简述 Linux系统中通过iostat我们能查看

  • 详解 Linux中的关机和重启命令

    详解 Linux中的关机和重启命令 一 shutdown命令 shutdown [选项] 时间 选项: -c:取消前一次关机命令 -h:关机 -r:重启 二 shutdown实战 [root@localhost tmp]# date Sat Jul 15 09:28:35 CST 2017 [root@localhost tmp]# shutdown -r 05:30 Shutdown scheduled for Sun 2017-07-16 05:30:00 CST, use 'shutdow

  • springboot 在linux后台运行的方法

    首先需要进到自己springboot项目的根目录,然后执行如下linux命令 nohup java -jar 自己的springboot项目.jar >日志文件名.log 2>&1 & 命令详解: nohup:不挂断地运行命令,退出帐户之后继续运行相应的进程. >日志文件名.log:是nohup把command的输出重定向到当前目录的指定的"日志文件名.log"文件中,即输出内容不打印到屏幕上,而是输出到"日志文件名.log"文件中

  • 详解linux 定时任务 crontabs 安装及使用方法

    安装 crontab yum install crontabs centos7 自带了我没有手动去装 启动/关闭 service crond start // 启动服务service crond stop // 关闭服务service crond restart // 重启服务service crond reload // 重新载入配置 查看 crontab 服务是否已设置为开机启动 systemctl list-unit-files | grep enable | grep crond 将 c

  • 详解Linux获取线程的PID(TID、LWP)的几种方式

    在 Linux C/C++ 中通常是通过 pthread 库进行线程级别的操作. 在 pthread 库中有函数: pthread_t pthread_self(void); 它返回一个 pthread_t 类型的变量,指代的是调用 pthread_self 函数的线程的 "ID". 怎么理解这个"ID"呢? 这个"ID"是 pthread 库给每个线程定义的进程内唯一标识,是 pthread 库维持的. 由于每个进程有自己独立的内存空间,故此&

  • 详解Linux服务器最多能开放多少个端口

    目录 端口相关的概念: 端口与服务的关系 1:nmap工具检测开放端口 2:netstat 工具检测开放端口 3:lsof 工具检测开放端口 4:ss 工具检测开放端口 5: 使用telnet检测端口是否开放 6:netcat工具检测端口是否开放 关闭端口和开放端口 端口相关的概念: 在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型.物理端口指的是物理存在的端口,如ADSL Modem.集线器.交换机.路由器上用 于连接其他网络设备的接口,如RJ-45端口.SC端口等等.逻辑端口是指

随机推荐