linux普通用户发送信号,Linux信号发送与作业控制

前言

Linux中进程间通信又称为IPC(Inter process communication),大致上可以分为这么几类:消息队列(message queue),旗语(semerpore),共享内存(shared memory),信号(signal),Unix域套接字,socket等。

一、信号发送

signal用来向进程传递微小的信息。

显示可用信号:kill -l

man 7 signal

1.kill命令

格式:kill [-SIGNAL] PID

SIGNAL:(1) 信号的完整名称,例如SIGHUP、SIGINT、SIGKILL、SIGTERM、SIGCONT、SIGSTOP

(2) 信号简称:HUP、KILL

(3) 信号数据标识:1,2, ...

SIGHUP:1, 让进程重读配置文件中的信息,而无须重启进程;

SIGINT:2, interrupt,打断正在运行中进程;相当于Ctrl+c

SIGKILL: 9, 强行中止正在运行的进程

SIGTERM:15, 优雅关闭正在运行的进程 SIGSTOP:19, 暂停进程

SIGCONT: 18,继续暂停进程

实例:[root@young ~]# ps aux|grep httpd

root      56893  1.0  0.1 226128  5056 ?        Ss   21:47   0:00 /usr/sbin/httpd -DFOREGROUND

apache    56894  0.0  0.1 228212  3120 ?        S    21:47   0:00 /usr/sbin/httpd -DFOREGROUND

apache    56895  0.0  0.1 228212  3120 ?        S    21:47   0:00 /usr/sbin/httpd -DFOREGROUND

apache    56896  0.0  0.1 228212  3120 ?        S    21:47   0:00 /usr/sbin/httpd -DFOREGROUND

apache    56897  0.0  0.1 228212  3120 ?        S    21:47   0:00 /usr/sbin/httpd -DFOREGROUND

apache    56898  0.0  0.1 228212  3120 ?        S    21:47   0:00 /usr/sbin/httpd -DFOREGROUND

root      56966  0.0  0.0 112644   948 pts/0    R+   21:47   0:00 grep --color=auto httpd

[root@young ~]# kill -1 56893 #让httpd重读其配置文件

2.killall命令

按命令名字发送信号。

格式:killall [-SIGNAL] COMMAND

实例:[root@young ~]# killall -15 httpd

[root@young ~]# ps aux|grep httpd

root      61513  0.0  0.0 112644   952 pts/0    R+   21:55   0:00 grep --color=auto httpd

[root@young ~]#

3.pkill命令

pkill 和killall 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。

格式:pkill [options] pattern

常用选项:-SIGNAL

-u uid: effective user,生效者

-U uid: real user,真正发起运行命令者

-t terminal: 与指定终端相关的进程

-P pid: 显示父进程为此处指定的进程的进程列表

实例:[root@young ~]# pkill httpd

[root@CentOS ~]# pkill -U apache

二、Linux作业控制

1.系统job作业

(1)job种类:前台作业(foregroud):通过终端启动,且启动后会一直占据终端;

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

(2)让作业运行于后台

1) 运行中的作业:Ctrl+z

送往后台后,作业会转为停止态;相当于发送kill -19信号

2) 尚未启动的作业:# COMMAND &

此类作业虽然被送往后台,但其依然与终端相关;如果希望把送往后台的作业剥离与终端的关系:# nohup COMMAND &

实例:[root@CentOS ~]# nohup yes &

[1] 8444

[root@CentOS ~]# nohup: ignoring input and appending output to `nohup.out'

(3)查看所有的作业:#jobs命令

实例:[root@young ~]# jobs -l  # -l选项显示进程PID

[1]+ 23602 Running                 nohup yes &

+/- 表示优先级;当调用时不加作业号会默认调用+的命令[root@young ~]# jobs -l

[1]  79973 Running                 sleep 100 &

[2]  80066 Running                 sleep 200 &

[3]- 80255 Running                 sleep 300 &

[4]+ 80414 Running                 sleep 400 &

[root@young ~]# fg

sleep 400

(4)可实现作业控制的常用命令:#fg  [[%]JOB_NUM]:把指定的作业调回前台;

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

#kill  %JOB_NUM:终止指定的作业;

实例:[root@young ~]# sleep 100 &

[1] 72535

[root@young ~]# fg 1

sleep 100

^Z     #crtl+z放到后台挂起

[1]+  Stopped                 sleep 100

[root@young ~]# jobs -l

[1]+ 72535 Stopped                 sleep 100

[root@young ~]# bg %1

[1]+ sleep 100 &

[root@young ~]# jobs

[1]+  Running                 sleep 100 &

[root@young ~]# kill %1

[root@young ~]# jobs

[1]+  Terminated              sleep 100

小贴士:同时运行多个进程方法(提高效率)1)vi all.sh

f1.sh&

f2.sh&

f3.sh&

2)(f1.sh&);(f2.sh&);(f3.sh&)

3){ f1.sh& f2.sh& f3.sh& }

三、进程优先级调整:nice, renice

静态优先级:100-139

进程默认启动时的nice值为0,优先级为120

只有root用户才能降低nice值(提高优先性),普通用户只能提高自己的nice值(降低优先级)

一般使用者仅可调整自己程序的 Nice 值,且范围仅为 0 ~ 19 (避免一般用户抢占系统资源);

nice调整范围: -20, 19

注:值越低优先级越高

(1) 以指定的nice值启动一个进程:nice -n # COMMAND

实例:[root@young ~]# nice -n -16 top&

[root@young ~]# ps axo ni,comm|grep top

-16 top

(2) 调整运行中的进程的nice值:renice -n # PID

实例:[root@young ~]# renice -n 10 89822

89822 (process ID) old priority -16, new priority 10

[root@young ~]# ps axo ni,comm|grep top

10 top

注意:普通用户仅有权限调大nice值;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410872.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[html] 写一个三栏布局,中间固定,两边自适应(平均)

[html] 写一个三栏布局&#xff0c;中间固定&#xff0c;两边自适应&#xff08;平均&#xff09; <style>html,body {height: 100%;margin: 0;padding: 0;}.container {display: flex;flex-wrap: wrap;width: 100%;height: 100%;}.content {flex: 1;}.side,.right {wid…

《图解CSS3:核心技术与案例实战》

《图解CSS3&#xff1a;核心技术与案例实战》 基本信息 作者&#xff1a; 大漠 丛书名&#xff1a; Web开发技术丛书 出版社&#xff1a;机械工业出版社 ISBN&#xff1a;9787111469209 上架时间&#xff1a;2014-7-2 出版日期&#xff1a;2014 年7月 开本&#xff1a;16开 …

对页面文章过长的处理方法

当在 一个页面显示一个文章的内容时&#xff0c;如果文章太长&#xff0c;会造成页面无限高&#xff0c;样式很不好看&#xff0c;对此我有两种解决方法&#xff1a;一&#xff0c;将内容放在<div>标签中&#xff0c;然后设置标签的style&#xff0c;具体<div style&q…

kali linux重启网络服务报错,Web安全学习笔记之在Kali Linux上安装Openvas以及启动失败修复...

现在用的kali linux是2018.1的版本&#xff0c;在安装openvas的时候报错&#xff0c;无法通过网络下载和安装openvas。主要错误是源配置错误&#xff0c;可能现在用的kali很久没更新了。一、解决和配置更新源问题apt-get upgrade报错显示无法更新&#xff0c;apt-get install o…

This document is opened by another project error message

This is quite annoying error. Finally, Ive found the problem is caused by Visual SVN VS 2008, but no further solution or path to fix this problem by Visual SVN at the moment. So I have to kick it out of my HDD. :( 转载于:https://www.cnblogs.com/javafun/ar…

linux下解压 cpio.gz格式文件

我是在安装oracle10G时从官网找的压缩吧。我个人觉得第二个好。 第一种方法&#xff1a; zcat 10201_database_linux_x86_64.cpio.gz| cpio –idmv 第二种方法 &#xff1a;第一步&#xff1a; gunzip 10201_database_linux_x86_64.cpio.gz第二步&#xff1a; cpio -idmv <…

linux脚本语句,LINUX shell 脚本语句

LINUX中shell脚本中语句的基本用法一、if ...then...fiif [ 条件判断一 ] && (||) [ 条件判断二 ]; then <if 是起始&#xff0c;后面可以接若干个判断式&#xff0c;使用 && 或 || 执行判断elif [ 条件判断三 ] && (||) [ …

Rstudio调用plot()函数时,出现错误的处理方法

按照书上的例子敲出代码后&#xff0c;发现Rstudio无法识别C盘user文件夹下的中文用户名。如下图所示&#xff1a; 按照网上的做法&#xff0c;尝试修改计算机user下的用户名&#xff0c;没修改成功。 另一种做法是在plot()函数前面加上一句dev.new(),便可绘制成功&#xff0c;…

外挂的介绍 什么是外挂

一、 前言 所谓游戏外挂&#xff0c;其实是一种游戏外辅程序&#xff0c;它可以协助玩家自动产生游戏动作、修改游戏网络数据包以及修改游 戏内存数据等&#xff0c;以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。虽然&#xff0c;现在对游戏外挂程序的“合法” 身份…

linux清理备份日志,服务器日志清理备份

"历史上的今天"有没有API接口的功能想添加一个历史上今天功能。人生就像一张有去无回的单程车票&#xff0c;没有彩排&#xff0c;每一场都是现场直播&#xff0c;把握好每次演出便是对人生最好的珍惜。?《历史上的今天》有没有API接口&#xff1f;这个可以参考 Lss…

人事面试的那些问题及背后的考察点

问题 请你自我介绍一下你自己&#xff1f; 你觉得你个性上最大的优点是什么&#xff1f; 说说你最大的缺点&#xff1f; 你对加班的看法&#xff1f; 你对薪资的要求&#xff1f; 在五年的时间内&#xff0c;你的职业规划&#xff1f; 你朋友对你的评价&#xff1f; 你还有什么…

[html] 你知道短链接的生成原理吗?

[html] 你知道短链接的生成原理吗&#xff1f; 目的将长度较长的链接压缩成较短的链接&#xff0c;并通过跳转的方式&#xff0c;将用户请求由短链接重定向到长链接上去1.二种方式生成短链hash-可能会重复发号器发号压缩 URL2.短链跳转方式301 - 用户第一次访问某个短链接后&a…

股神巴菲特揭示致富的十大秘籍[转]

1. Reinvest your profits. “Even a small sum can turn into great wealth,” Schroeder writes, if you’re disciplined to not touch your profits. Let the power of compound interest work for you。   1. 把你现有的财富做再投资。就像史诺德写到过的那样&#xff1…

linux火狐浏览器49.0安装教程,火狐浏览器Linux最新版下载

火狐浏览器是一款免费开源的跨平台浏览器&#xff0c;firefox for linux引入了扩展同步机制用户能够在家用电脑和办公电脑之间进行无缝同步&#xff0c;能给用户更为流畅和高速的上网浏览体验&#xff0c;同时也让开发者能够开发出更为快速的网络应用和网站&#xff0c;有需要的…

shell与其他语言不同点

1.定义变量时&#xff0c;变量名不加美元符号&#xff08;$&#xff0c;PHP语言中变量需要&#xff09;&#xff0c;如&#xff1a; your_name"w3cschool.cn" 注意&#xff0c;变量名和等号之间不能有空格&#xff0c;这可能和你熟悉的所有编程语言都不一样。同时&am…

jquery +做CheckBoxList全选,反选

以前我们做CheckBoxList全选&#xff0c;反选&#xff0c;一般用AspxCodeFile、或者用JavaScript 现在我们可以用JQuery来帮我Easy Choose. 这里我来写三种&#xff1a; 第一种 全选 $(".checkBoxSelect").each(function() { $(this).attr("ch…

jQuery使用ajax传输xml文档在IE中无法正确解析的问题

在jQuery中使用$.get()或$.post()从服务端获取xml文档时&#xff0c;必须在服务器端将返回的Http头的ContentType设为text/xml&#xff0c;否则即使在$.get()或$.post()的最后一个参数指定了xml&#xff0c;在IE中仍然无法正确解析&#xff0c;IE会将其作为一个字符串处理&…

PPA格式Linux安装,Ubuntu12.04 用PPA安装fcitx和搜狗输入法附加组件Linux版

最近Linux的世界中&#xff0c;让人兴奋的就是LinuxDeepin12.1 Beta的发布&#xff0c;但最让人欢喜的就是随之而来的”搜狗输入法Linux版“。网上流传的在Ubuntu下安装搜狗输入法的方法实在是恼人&#xff0c;不仅安装的deb包包多多&#xff0c;而且不能apt-get update 更新。…

[html] 如何优化页面的渲染过程?

[html] 如何优化页面的渲染过程&#xff1f; 将样式表放到head中 将js脚本置底 减少脚本的数量&#xff0c;将多个脚本合并&#xff0c;可以使用webpack等前端工具打包 压缩样式、脚本、图片等的体积个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&…

Windows Server 2008 系统上c#读取Excel遭遇“用户代码未处理 ComException”错误

以前用代码读取Excel的时候从没有遇到过此错误&#xff0c;开始以为是权限问题&#xff0c;但是用普通的Console Application时却能够读取&#xff0c;放到web application里面就出现此错误&#xff1a; 导致错误的是第三行&#xff1a; object missing Missing.Value;Excel.A…