1、查看运行程序的PID(PID号用于唯一标识一个进程)
ps aux | grep nginx
说明:
ps aux:显示其他用户启动的进程
显示系统中属于自己的进程
启动这个进程的用户和启动的时间
为了方便寻找,这里使用了管道配合grep命令
2、PPID:父进程的PID
说明:
子进程是其父进程的克隆体
3、UID和EUID:真实和有效的用户ID
进程的UID就是其创建者的用户ID号,用户标识进程的属主。
EUID:这个特殊的UID号用来确定进程对某些资源和文件的访问权限,在绝大部分情况下,进程的UID和EUID是一样的,除了著名的setuid程序。
说明:
什么事setuid程序? 回忆passwd命令允许用户修改自己的登陆口令,但是密码保存在/etc/shadow文件中,这个文件对普通用户是不可读的,那么用户怎么能够通过修改shadow文件来修改自己的口令呢,这就是setuid的妙处了,通过使passwd在执行阶段具有文件所有者(也就是root)的权限,让用户临时有了修改shadow文件的能力(当然这种能力是收到限制的)因此,passwd就是一个典型的setuid程序,其UID是当前执行这个命令的用户ID,而EUID则是root用户的ID(也就是0)
4、GID 和EGID:真实和有效的组ID
类似的,进程的GID是其创建者所属组的ID号。对于EUID,进程同样拥有一个EGID号,可以通过setgid程序来设置。
5、监视进程
ps aux命令用于显示当前系统上运行的所有进程的信息。
列举部分进程的含义:
USER:进程创建者的用户名
PID:进程的ID号
%CPU:进程占用的CPU百分比
%MEM:进程占用的内存百分比
VSZ:进程占用的虚拟内存大小
START:进程启动的时间
TIME:进程已经占用的CPU时间
COMMAND:命令和参数
ps的另一个选项lax可以提供父进程ID(PPID)和谦让度(NI),ps lax命令不会显示进程属主的用户名。
6、及时跟踪今晨信息 top命令
ps命令可以给出一次性给出当前系统中进程信息的快照,但是这样的信息缺乏时效性,当管理员需要实时监视进程的运行情况时,就必须不停的执行ps命令,这显然缺乏效率的。因此,Linux提供了top命令用于及时跟踪当前系统中的进程情况。
执行命令top。
此时会发现,默认情况下每10s更新一次。使用CPU进程最多的进程会排在最前面。使用命令q退出监视程序。
7、查看占用文件的进程:lsof
管理员有时候想要知道某些特定的文件正被哪些进程使用。lsof命令能够提供包括PID在内的各种进程信息。不带任何参数的lsof命令会列出当前系统中所有打开文件的进程信息,要找出占用某个特定文件的进程,需要提供文件名作为参数。
8、向进程发送信号:kill
从本质上讲,kill 命令只是用来向进程发送一个信号,至于是什么信号,则是由用户指定的。并不总是用来"杀死”一个进程。
常用的信号:
1)EXIT:程序退出时收到该信号
2) HUP:挂起
3) INT:中断
4) QUIT:退出
5) KILL 杀死
6) TERM 软件终止
9、杀死进程
kill -KILL pid
或者:kill -SIGKILL pid
kill -SIGKILL pid
kill -9 pid
10、/PROC文件系统
其是一个特殊的文件系统,或者说根本不是什么文件系统,/PROC目录下存放着内核有关系统的各种有意义的信息。在系统运行的时候,内核会随时向这个目录写入数据。ps和top命令都是从这个地方读取数据的。事实上,这是操作系统向用户提供 的一条通往内核的通道。
ls /proc/ 查看该目录下
说明:
所有的进程追溯其祖先最终都会落到进程号为1的进程身上,这个进程叫init进程,init进程是linu内核启动后第一个执行的进程;init引导系统,启动守护进程并且运行必要的程序。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。