Linux的作业控制

1 概述

linux的作业有两个方式,一个是工作于前台,一个是工作于后台

前台作业:通过终端启动,且启动后一直占据终端;

后台作业:可通过终端启动,但启动后即转入后台运行(释放终端)

2 让作业运行于后台

(1) 运行中的作业:Ctrl+z,程序被放到后台,但是不执行,状态是stop

(2) 尚未启动的作业:COMMAND & 直接将程序放到后台运行

以上两个方式 后台作业虽然被送往后台运行,但其依然与终端相关;退出终端,将关闭后台作业。

如果希望送往后台后,剥离与终端的关系,要使用以下两个方式运行语句

方法一

nohup COMMAND &>/dev/null  &

方法二

先执行screen

screen;

然后在screen的窗口下执行命令。不要在这个screen窗口中执行终止命令的操作

COMMAND;

关闭该screen窗口或者直接退出终端,后台这个命令还是会执行。

建议用screen的下运行命令,不需要看到命令的输出,且还需要在该screen窗口下操作

建议输入命令 COMMAND &>/dev/null &   这样命令直接在后台运行,不干扰当前screen操作

这种方式也可以同时在该screen下输入多个后台运行的命令

用screen执行命令,会使得命令在后台执行,即使断网了,后台还是能执行命令,当终端断网是,screen的进程会独立出来,所以命令会继续运行

注意

在6上后台执行的命令&,终端网络断开,命令还是会继续执行

在7上后台执行的命令&,终端网络断开,命令不会继续执行,建议用screen或者用调用nohup的方式执行

3 作业控制

3.1 查看作业

查看当前终端所有作业,执行命令 jobs

如果已经关闭终端,但是要查看命令的PID,可以用以下命令进程查看

ps -ef | grep CMD

3.2 作业控制

3.2.1 fg

fg[[%]JOB_NUM]:把指定的后台作业调回前台

先用job查看后台是否有进程,假设后台有一个进程id 2,不管是running 还是stop只要用

fg 2,就会调到前台来运行,但是,到前台运行后,按ctrl+c 就会停止进程

3.2.2 bg

bg[[%]JOB_NUM]:让送往后台的作业在后台继续运行

假设终端前台本来有一个指令在运行,此时被按下ctrl+z,则该指令会被放到后台,但是此时状态是stopped

通过命令bg 1会再次将指令放到后台运行,此时ctrl-c已经不能停止命令,如果是普通窗口下运行命令,

则关闭终端就会使得该后台命令停止运行

但是,如果是在screen下运行bg,则必须通过kill 杀掉对应进程的id来停止命令

3.2.3 kill

kill [%JOB_NUM]:终止指定的作业

kill 信号 PID

如 kill -9 1028 杀掉进程号为1028的进程

kill  -19 cmd  把命令放到后台休眠

kill  -18 cmd  把命令唤醒后台运行

时间: 2024-12-26 09:55:47

Linux的作业控制的相关文章

Linux运维之进程管理

一.进程概念 进程是内核的一个功能,在Linux中,运行一个程序或命令可以出发一个事件而驱动一个PID,在linux系统中,系统只识别二进制程序文件,我们可以通过执行系统上的二进制程序来运行程序,进而产生进程.在linux系统中第一个进程是init程序,它是系统开机第一个加载的程序,用来支撑系统的正常运行的一个程序,内核启动的一个用户级进程.     1.进程优先级 进程优先级被分为系统优先级和实时优先级 系统优先级:数字越小,优先级越高 0-139(老版本操作系统如4,5) 各有140个运行队

Linux进程查看,管理工具

浅谈linux下进程查看,管理工具 1.pstree 显示进程树. 显示各个进程之间的关系 [[email protected] ~]# pstree init─┬─abrtd      ├─acpid      ├─atd      ├─console-kit-dae───63*[{console-kit-da}]      ├─crond      ├─cupsd      ├─dbus-daemon      ├─dhclient      ├─fcoemon      ├─hald─┬─

linux基础学习第十八天之进程管理和任务计划

内容: 进程相关概念(用户空间.内核空间,进程.线程)   进程及系统相关工具(ps.top.pgrep.pidof.kill)   调整nice值(nice.renice)   作业管理(jobs.fg.bg.kill,&)   计划任务(at.crontab) 一.进程相关概念 内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能等 内核空间和用户空间关系: 对计算机来说,其实只有CPU和内存,其中在某一时刻内存逻辑上分为两部分(linux系统):用户空间和内核空间,每一个

Linux进程和计划任务

内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序. 安全功能等 进程管理: 系统优先级:数字越小,优先级越高    实时优先级: 99-0,值最大优先级最高    nice值:-20 到19 ,对应系统优先级100-139或99 Linux 内核:抢占式多任务          进程类型:                     守护进程: daemon, 在系统引导过程中启动的进程,和终端无关进程                     前台进程:跟终端相关,通过终端启动的进程 

Linux基础之进程及作业管理(二)

Linux进程及作业管理(2) CentOS 6: http://172.16.0.1/fedora-epel/ CentOS 7: http://172.16.0.1/fedora-epel/ 进程管理类命令: htop命令: 选项: -d #:指定延迟时间间隔: -u UserName:仅显示指定用户的进程: -s COLUME:以指定字段进行排序: 子命令: l:显示选定的进程打开的文件列表: s:跟踪选定的进程的系统调用: t:以层级关系显示各进程状态: a:将选定的进程绑定至某指定的C

Linux进程与计划任务

Linux进程与计划任务 linux进程及作业管理 进程 内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能等特权操作模式切换(理想状态):70%CPU时间用户模式+30%CPU时间内核模式进程(Process):是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的存在生命周期的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在当代面向线程设计的计算机结构中,进程是线程的容器.程序是指令.数据及其组织形式的描述

Linux进程查看及管理的工具

Linux进程查看及管理的工具:pstree, ps, pidof, pgrep, top, htop, glance, pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup 1.pstree命令:    pstree - display a tree of processes    [[email protected] ~]# pstreeinit─┬─agetty     ├─auditd───{auditd}     ├─crond   

linux进程管理命令总结

linux进程管理的相关命令: 1.pstree  --以树状形式显示当前系统进程,和命令tree相似. 2.ps命令 命令格式:ps [options] 常用组合:aux: u:以用户为中心组织的进程状态信息显示 a:与终端相关的进程 x:与终端无关的进程 #ps aux USER : 用户名 PID : 进程号 %CPU :占用的cpu百分比 %MEM  :内存的使用率 VSZ :  virtual memory size ,虚拟内存集 RSS : resident size ,常驻内存集

Linux系统--Linux进程与作业管理(3)

Linux系统--Linux进程与作业管理(3) Linux进程管理和作业管理的另外几种管理命令:vmstat,dstat,pmap,glances,kill 1.vmstat命令: vmstat - Report virtual memory statistics vmstat命令可以看到整个机器的CPU,内存,IO等使用情况.此命令不是动态显示的,需要手动进行刷新. vmstat #:相隔#秒刷新. 直接执行vmstat命令的结果为: 各个字段的含义: procs: r:等待运行的进程的个数