首页 > 系统相关 >Linux后台进程管理以及ctrl+z(挂起)、ctrl+c(中断)、ctrl+\(退出)和ctrl+d(EOF)介绍

Linux后台进程管理以及ctrl+z(挂起)、ctrl+c(中断)、ctrl+\(退出)和ctrl+d(EOF)介绍

时间:2023-11-11 10:00:39浏览次数:48  
标签:jobs EOF 命令 ctrl 后台 kill Linux 进程

一、后台进程管理命令

fg、bg、jobs、&、ctrl + z、ctrl + c、ctrl + \、ctrl + d

1、 &

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

 

2、ctrl + z

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

 

3、jobs

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

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

4、fg

将后台中的命令调至前台继续运行

如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

 

5、bg

将一个在后台暂停的命令,变成继续执行 (在后台执行)

如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

将任务转移到后台运行:

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

 

概念:当前任务

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

二、进程的终止

后台进程的终止:

方法一:

通过jobs命令查看job号(假设为num),然后执行kill %num

 

方法二:

通过ps命令查看job的进程号(PID,假设为pid),然后执行kill pid

 

前台进程的终止:

ctrl+c

三、进程的挂起(暂停的意思吧)

后台进程的挂起:

在solaris中通过stop命令执行,通过jobs命令查看job号(假设为num),然后执行stop %num;

在redhat中,不存在stop命令,可通过执行命令kill -stop PID,将进程挂起;

当要重新执行当前被挂起的任务时,通过bg %num 即可将挂起的job的状态由stopped改为running,仍在后台执行;当需要改为在前台执行时,执行命令fg %num即可;

前台进程的挂起:

ctrl+Z;

四、kill的其他作用

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

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

五、ctrl+z(挂起)、ctrl+c(中断)、ctrl+\(退出)和ctrl+d(EOF)的区别

1、四种操作的表现

ctrl+c强行中断当前程序的执行。

ctrl+z将任务中断,但是此任务并没有结束,他仍然在进程中,只是放到后台并维持挂起的状态。如需其在后台继续运行,需用“bg 进程号”使其继续运行;再用"fg 进程号"可将后台进程前台化。

ctrl+\表示退出。

ctrl+d表示结束当前输入(即用户不再给当前程序发出指令),那么Linux通常将结束当前程序。

2、ctrl+c,ctrl+d,ctrl+z在linux中意义。

linux下:

ctrl-c 发送 SIGINT 信号给前台进程组中的所有进程。常用于终止正在运行的程序。

ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程。

ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。

ctrl-\ 发送 SIGQUIT 信号给前台进程组中的所有进程,终止前台进程并生成 core 文件。

 

标签:jobs,EOF,命令,ctrl,后台,kill,Linux,进程
From: https://www.cnblogs.com/chentiao/p/17825550.html

相关文章

  • Linux常用命令——tar文件的压缩与解压缩
    tar   选项   包名    文件名tar本身没有压缩功能,只有打包功能,但是tar可以调用压缩工具;以下是常用命令:-c  创建归档文件-v  显示过程-x  展开归档文件-f  操作归档文件-C  指定解压路径-z  调用gzip压缩工具-j  调用bzip2压缩工具-J......
  • 解决vim在终端ctrl+i无法跳转问题
    总所周知,终端里使用vim只能Ctrl+o跳转到上一个位置,不能Ctrl+i跳转到下一个位置。因为xterm中tab和ctr+i都是一样,传递的键值是9,所以在vim中无法将tab和ctr_i分离使用。这篇文章来解决这个问题。ctrl+g用于显示正在编辑的文件名,文件大小和位置信息,今天就牺牲ctrl+g原有的功能来实现......
  • Linux虚拟化安装相关信息
    此处内容均是关于使用VMwareWorkstation安装Linux操作系统的相关知识:CentOS镜像(*.iso):可以从阿里云提供的各种镜像列表下载:https://developer.aliyun.com/mirror/下的OS镜像,根据弹窗选择对应的镜像类型和版本,根据下载链接下载Markdown语法:···上述为"``` ",表示 ......
  • Linux软件安装(二)
    1、权限:允许⽤户对资源所执⾏的操作。2、在Linux中所有的资源都视为⽂件。3、⽂件的权限包括:读(read),写(write),执⾏(execute)。4、通过ll查看⽂件的完整信息(共有9段)-rwxrw-r--.1rootroot  6611⽉414:40a.txt⽂件的权限说明。⽂件的结点(node)个数......
  • Linux软件包(源码包和二进制包)
    Linux下的软件包众多,且几乎都是经GPL授权、免费开源(无偿公开源代码)的。这意味着如果你具备修改软件源代码的能力,只要你愿意,可以随意修改。GPL,全称GeneralPublicLicense,中文名称“通用性公开许可证”,简单理解GPL就是一个保护软件自由的一个协议,经GPL协议授权的软件必须开源......
  • Linux 中 安装perl模块 以及 确认
     001、系统信息  002、安装CPAN  003、以JSON为例,在未安装状态下查看  004、利用cpan-iJSON安装该模块  005、查看JSON安装状态  参考:01、https://www.onitroad.com/jc/linux/faq/find-out-what-perl-modules-already-installed-on-my-system.html......
  • Linux搭建文件服务器
    @目录基于centos7.9搭建http文件服务器基于centos7.9搭建nginx文件服务器基于ubuntu2204搭建http文件服务器IP环境192.168.200.100VMware17基于centos7.9搭建http文件服务器安装httpd[root@localhost~]#yuminstall-yhttpd关闭防火墙以及selinux[root@loc......
  • Linux简单操作
    bashshell介绍和使用什么是Bashshell(壳)是一个命令解释器,就是一个软件执行就是bash,可以在里面输入命令,做交互,exit退出能干什么原来在windows上点点点完成的是,它都能做到使用Shell实现对Linux系统的大部分管理,例如:1.文件管理(文件创建,移动,复制,删除,编辑…)2.权限管......
  • Linux命令(116)之logger
    linux命令之logger1.logger介绍linux命令logger是一个shell命令接口,通过该接口使用rsyslog的系统日志模块可以向系统日志文件(自定义日志文件)写入一行信息2.logger用法logger[参数][message]logger参数参数说明-i记录进程ID-t在日志中的每一行添加一个标签-p指定自定义的日志设......
  • xixa oraclelinux上kafka集群部署(一)----kafka安装
    kafka部署前提:需要安装jdk1.7以上版本、zookeeper官网下载:http://kafka.apache.org/quickstartkafka配置配置server.properties文件中zookeeper配置,如果集群应该怎么配置?还需要尝试配置kafka集群             在bin目录下面执行......