一个程序的父进程可以用PPID来判断
 
命令ps -l 可以用来观察程序相关的输出信息
 
被关闭的程序又产生:crontab或者父进程产生的
 
我们将常驻在系统中的程序称为:服务(daemon)
负责系统本身所需的服务:crond,atd
负责网络连线的服务:Apache,named,postfix,vsftpd..等,这些服务会启动一个端口负责网络监听,提供外部用户端的连线要求
 
linux中,预设了六个文字界面登入视图,一个图形界面,可以使用Alt+F1.../F7进行切换
 
ps -aux查看所有进程
cp file1 file2 & 将file1复制为file2,且放置于背景中执行
 
工作管理(job control)是用在自己的bash环境下的进行的
前景:可以控制与下指令的环境
背景:可以自行运作,不能通过ctrl+c终止,可使用bg/fg呼叫该工作
 
直接将指令丢到背景中执行 "&",可以通过资料流重定向来防止背景进程的输出对前景进程的影响
将‘目前’工作丢到背景中‘暂停’ crtl+z
 
观察目前的背景工作状态:jobs [-lrs]
选项与参数:
-l  处理列出job mumber与指令串之外,通过列出pid的号码
-r  仅列出正在背景运行(run)的工作
-s  仅列出正在背景中暂停(stop)的工作
输出列中的+号代表最后被放入到后台的工作,如果输入fg命令,它会拿到前景进行处理
          -号代表倒数第二个放置到背景的工作
 
把背景进程拿到前景处理:fg %jobnumber
让在背景暂停的任务运行:bg %jobnumber
 
管理背景进程: kill -signal %jobnumber
-l:L的小写,列出目前kill能够使用的讯号有哪些
signal:代表能给予后面的工作什么样的指示,用man 7 signal可知:
-1:重新读取参数,类似reload
-2:代表由键盘输入,ctrl+c一样的动作
-9:立刻强制删除一个工作
-15:以正常的程序方式终止一项工作
kill后面接的数字预设是PID,如果要管理bash的工作,要加上%数字了
选项与参数: %jobnumber:jobnumber为工作号码(数字),%号可有可无
 
刚刚说的背景进程依旧与终端机有关,如果离线了,将会被终止掉
 
可以使用at将工作放置到系统背景,而与终端机无关
nohup可以在离线时,让工作继续进行
nohup [指令与参数]  在终端机前景中工作
nohup [指令与参数]  & 在终端机背景中工作
 
 
将某个时间点的程序运作情况取下来:ps
参数与选项:
-A:所有的process均显示出来,与-e具有相同的效果
-a:不与terminal有关的所有process
-u:有效使用者相关的process
x :通常与a一起使用,可列出交完整资讯
输出格式设置:
l:较长,较详细的将该PID得资讯列出
j:工作的格式(jobs format)
-f:做一个更完整的输出
 
仅观察自己bash相关程序:ps -l
F:代表程序的权限,常见的号码有:4,表示此程序的权限为root
                                1,表示此子程序仅进行复制(fork)而没有实际执行(exec)
S:代表这个程序的状态,主要状态有:R,Running,运行中
                                  S,Sleep,睡眠状态
                                  D,不可被唤醒的睡眠状态,通常这支程式在等待I/O的情况
                                  T,stop,停止状态,可能是在工作控制(背景暂停)或除错(traced)状态
                                  Z,Zombie,僵尸状态,程序已经停止但无法被移除记忆体
UID:此程序被该UID所拥有
PID:程序的PID号码
PPID:此程序的父程序PID号码
C:代表CPU使用率,单位为百分比
PRI/NI:Priority/Nice的缩写,代表此程序被CPU所执行的优先顺序,数值越小代表该程序越快被执行
ADDR/SZ/WCHAN:ADDR是kernel function,指出该程序在记忆体的那个部分,如果是running,会显示-
              SZ代表此程序用掉多少记忆体
              WCHAN表示程序是否在运行中,如果是running则显示为-
TTY:登入者的终端位置,若为远端登入则使用动态终端界面pts/n
TIME:使用掉的cpu时间,而不是系统时间
CMD:造成此程序的指令
 
动态观察程序的变化:top [-d 数字] |top [-bnp]
-d:后面直接接秒数,设置显示的更新描述,预设是5秒
-b:以批次的方式执行top,通常会搭配资料重导向将批次的结果输出为档案
-n:与-b搭配,需要进行几次top的输出
-p:指定某些pid来进行监视
 
在top执行过程中可以使用的按键指令:
?:显示在top当中可以输入的按键指令
P:以CPU的使用资源排序显示
M:以Memory的使用资源排序显示
N:以PID来排序
T:由该process使用的cpu时间累积(TIME+)排序
k:给予某个PID一个讯号signal
r:给予某个PID重新制订一个nice值
q:离开top软体的按键
 
top默认使用CPU的使用率作为排序的重点
我们自己的bash PID可由$$变量取得,echo $$
 
 
pstree [-A|U][-up]
-A:各程序树之间的连接以ASCII字元来连接
-U:各程序树之间的连接以万元码的字元来连接,在某些终端界面下可能会有错误
-p:列出每个proces的PID
-u:列出每个process所属账号名称
 

通过给程序一个讯号(signal)告诉程序你想要她做什么

kill -signal PID
killall -signal 指令名称
killall [-iIe] [command name]
-i:interactive的意思,互动式的,若要删除时,会提示字元给使用者
-e:exact,表示后面接的command name要一致,但整个完整的指令不能超过15个字元
-I:指令名称(可能含参数)忽略大小写

通过档案(或档案系统)找出正在使用该档案的程序:fuser
fuser [-umv] [-k[i][-signal]] file/dir
-u:除了程序的PID之外,同时列出该程序的拥有者
-m:后面接的那个档名会主动地上提到该档案系统的最顶层,对umount不成功很有效
-v:可以列出每个档案与程序还有指令的完整相关性
-k:找出使用该档案/目录的PID,并试图以SIGKILL这个讯号给予该PID
-i:必须与-k配置,在删除PID前先询问使用者意愿
-signal:如-1,-15等,默认是SIGKILL (-9)

 
查出某个程序开启或者使用的档案与装置:lsof [-aUu][+d]
-a:多项资料需要‘同时成立’才显示结果
-U:仅列出Unix like系统的socket档案类型
-u:后面接username,列出该使用者相关程序所开启的档案
+d:后面接目录,亦即找出某个目录底下已经被开启的档案
 
找出某个正在执行的程式的PID:pidof [-sx] program_name
-s:仅列出一个PID而不是所有的PID
-x:同时列出该grogram name可能的PPID那个程序的PID

linux 之程序管理的更多相关文章

  1. linux备忘录-程序管理与SELinux

    知识点 程序与程序(Process and Program) 通过执行一条指令或程序,则可以触发一个事件,并获得一个PID.当我们需要启动一个程序时,我们是启动一个二进制文件(binary file) ...

  2. Linux软件管理器(如何使用软件管理器来管理软件)2---安装及管理Linux应用程序

    安装及管理Linux应用程序 Linux应用程序的组成1.普通的可执行程序文件,一般保存在/usr/bin目录中,普通用户即可执行.2.服务器程序.管理程序文件,一般保存在/usr/sbin目录中,需 ...

  3. 鸟哥的linux私房菜——第十六章学习(程序管理与 SELinux 初探)

    第十六章.程序管理与 SE Linux 初探 在 Linux 系统当中:"触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的 ...

  4. Linux堆内存管理深入分析(上)

    Linux堆内存管理深入分析(上半部) 作者:走位@阿里聚安全   0 前言 近年来,漏洞挖掘越来越火,各种漏洞挖掘.利用的分析文章层出不穷.从大方向来看,主要有基于栈溢出的漏洞利用和基于堆溢出的漏洞 ...

  5. windows下运行的linux服务器批量管理工具(带UI界面)

    产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...

  6. [20150513]Linux远程登陆管理以及Vim的学习

    Linux远程登陆管理以及Vim的学习 实现Linux远程管理 所需工具Xshell,Xshell是一个用于MS Windows平台的强大的SSH,TELNET,和RLOGIN终端仿真软件.它使得用户 ...

  7. [linux笔记]理清linux安装程序用到的(configure, make, make install)

    我作为一名经常和linux打交道的程序员,每次在linux安装软件都祈求可以用——apt-get,yum,brew等应用程序管理器安装,有的时候事与愿违,你只能自己编译安装-wtf,说好的美丽世界呢? ...

  8. linux 下用户管理

    linux 下用户管理 一.用户的分类 1.超级用户:root UID=0 2.系统用户:不需要登录系统,对应用程序服务,主要维护系统的正常运行:UID = 1 ~ 499(RHEL7 = 1 ~ 9 ...

  9. 深入理解Linux中内存管理

    前一段时间看了<深入理解Linux内核>对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看 ...

随机推荐

  1. jQuery对象插件封装步骤

    jQuery是js的一个非常优秀的库,它大大简化了js的很多操作,并且解决了js的大部分兼容性问题.甚至很多css兼容性问题,用jQuery写都能解决. 这里是对象插件的封装.当然,封装插件很多,这里 ...

  2. nginx集群tomcat

    一.准备工作 下载nginx,http://nginx.org/,本文采用nginx-1.8.0,下载之后直接解压,免安装 下载tomcat,以配置3台tomcat服务器做负载均衡为例 二.修改tom ...

  3. php 分词

    发现了一个很好的分词类库phpanalysis2.0. 原文连接地址:http://www.phpbone.com/phpanalysis/         分 词系统简介:PHPAnalysis分词 ...

  4. HDU-4861-Couple doubi(数学题,难懂!难懂!)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4861 这个题只能说没弄懂,感觉很难,看博客也看不懂,只能,多看几次,看能不能有所突破了. 代码的话只有 ...

  5. 让Flash支持Stage3D

    如要需要支持Stage3D,采用GPU来渲染,需要设置wmode="direct",在FB中,对于web和air设置方法不同: 1.web: 需要在web的html模板中,添加参数 ...

  6. 在MyEclipse 2014中给Spket增加ExtJS提示

    参考:http://wenku.baidu.com/link?url=BT2U6Z-HktQJQYpz3Jp88pJSp4lU-lXkvCqpdeaa9a-BVdOgMGK1vj486-32YC4Gq ...

  7. localStorage的黑科技-js和css缓存机制

    一.发现黑科技的起因  今天在微信公众号看到一篇技术博文,想用印象笔记收藏,所以发送了文章链接到pc上.然后习惯性地打开控制台,看看源码,想了解下最近微信用了什么新技术.  呵呵,以下勾起了我侦探的欲 ...

  8. CodeForces 429B

    Working out Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u   Desc ...

  9. sass纯新手(一)

    说是教程还真是有点不敢当,只是将自己今天上手sass的流程给记录下来,给一些和我一样的小白菜一点参考而已,照着走一遍应该就会对sass有基本的认识了,也请大神们不吝赐教. 很久之前同事做了一个关于sa ...

  10. 微信小程序教程(第一篇)

    目录 第一篇小程序概述 第二篇如何注册接入小程序及搭建开发环境 第三篇小程序的架构及实现机制,信道服务及会话管理 第四篇小程序开发基本框架及其限制与优化 第五篇小程序开发项目实例,测试及发布 .... ...