Linux 进程学习

-------------------------------------------------------------------------------------------

ps 显示瞬间进程的状态,并不动态连续,如果想对进程进行时间控制,应该用top

   

-A 列出所有的行程 
-w 显示加宽可以显示较多的资讯 
-au 显示较详细的资讯 
-aux 显示所有包含其他使用者的进程 #平时用的比较多的是 ps axu  #

-e 显示所有进程

-f 显示所有进程的所有信息

-r 只显示正在运行的进程

-x 显示所有非控制终端上的进程信息

xian-squ-1:~ # ps aux

USER  PID      %CPU       %MEM       VSZ                              RSS          TTY    STAT     START                 TIME        COMMAND

用户  进程号    CPU占用   内存占用     虚拟内存占用(KB)    物理内存  终端    状态    进程开始时间      进程执行时间     对应的命令

通常我们也可以加上过滤命令来检查特定的程序进程.

-------------------------------------------------------------------------------------------------------------------------------------------------

TOP 命令可以用来动态的监测服务器的进程信息。在动态监测的过程中,用户可以通过按键刷新状态

CH-HOV-FTP1:/ # top 

top - 13:56:27 up 71 days, 2:42, 2 users, load average: 0.02, 0.04, 0.00       #系统运行时间 以及负载实时的输出#

Tasks: 100 total, 1 running, 99 sleeping, 0 stopped, 0 zombie                  #系统任务#

   

含义:  进程总数            正在运行的进程数    睡眠的进程数       已停止的进程数   僵尸进程数

   

Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st  #CPU的占用情况#

含义:us----用户空间占用CPU百分比;    
                    sy----内核空间占用CPU百分比;      
                    ni----用户进程空间内改变过优先级的进程占用CPU百分比      
                    id----空闲CPU百分比      
                    wa--等待输入输出的CPU时间百分比      
                    hi----??      
                    si-----??

Mem: 3916396k total, 3879364k used, 37032k free, 129500k buffers       #内存的占用情况#

含义:total----物理内存总量    
                    used----使用的物理内存总量      
                    free-----空闲内存总量      
                    buffers--用作内核缓存的内存量

Swap: 8393952k total, 116k used, 8393836k free, 3505092k cached         #交换空间的使用情况#

PID     USER          PR                    NI                      VIRT              RES         SHR S      %CPU %MEM     TIME+ COMMAND    

进程号  进程用户    进程优先级别   进程优先级数值   虚拟内存     物理内存    共享内存  CPU      内存     启用时间   启动命令

在top 命令的使用中,可以用以下交互命令来完成一些查看的交互

  • 输入1 -查看每个逻辑CPU的使用情况

  • 输入f -查看可显示的选项,* 号表示已经显示的,例如我们想显示脏页面,可以输入v ,然后空格刷新

   

  • 输入P :根据CPU使用情况,进行排序 /输入M 根据内存大小排序 输入T 按照累计时间排序
  • 使用r 调整优先级,使用k 杀死进程

杀死top进程 就退出top了,当然我们一般是用q来退出

-------------------------------------------------------------------------------------------------------------------------------------------------

xian-squ-1:~ # pgrep squid   #pgrep可以用来查看相关程序所有的进程号#

10746

26318

-------------------------------------------------------------------------------------------

Kill 用来中止进程,  默认发15 关闭程序,使用9是强制关闭程序,用来干掉僵死的进程  
killall通过程序的名字可以直接杀死所有的相关进程。

   

CH-HOV-FTP1:/ # lsof -i:20   #除了ps命令之外,可以用list open files来查看#

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

vsftpd 8868 uhc 7u IPv4 54770204 TCP CH-HOV-FTP1.HOVSCHINA.COM:ftp-data->10.2.10.144:57834 (ESTABLISHED)

Linux 进程学习

时间: 2024-10-11 04:02:52

Linux 进程学习的相关文章

Linux进程学习(孤儿进程和守护进程)

孤儿进程和守护进程 通过前面的学习我们了解了如何通过fork()函数和vfork()函数来创建一个进程.现在 我们继续深入来学习两个特殊的进程:孤儿进程和守护进程 一.孤儿进程 1.什么是 孤儿进程如果一个子进程的父进程先于子进程 结束, 子进程就成为一个孤儿进程,它由 init 进程收养,成为 init 进程的子进程.2.那么如何让一个进程变为一个孤儿进程呢?我们可以先创建一个进程,然后杀死其父进程,则其就变成了孤儿进程.pid =  fork();if(pid > 0) {         

Linux进程学习 - 孤儿进程和守护进程

孤儿进程和守护进程 通过前面的学习我们了解了如何通过fork()函数和vfork()函数来创建一个进程.现在 我们继续深入来学习两个特殊的进程:孤儿进程和守护进程 一.孤儿进程 1.什么是 孤儿进程如果一个子进程的父进程先于子进程 结束, 子进程就成为一个孤儿进程,它由 init 进程收养,成为 init 进程的子进程.2.那么如何让一个进程变为一个孤儿进程呢?我们可以先创建一个进程,然后杀死其父进程,则其就变成了孤儿进程.pid =  fork();if(pid > 0) {         

linux 进程学习笔记-进程跟踪

<!--[if !supportLists]-->Ÿ <!--[endif]-->进程跟踪 long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data); Linux用ptrace来进行进程跟踪,就跟我们平时用GDB debug一样,它允许一个进程去跟踪和控制另外一个进程.当被跟踪进程有信号发生时,被跟踪进程会被暂停下来,其内存空间变得可读写,跟踪它的进程可以选择是否忽略该信号和让程序继续

Linux进程学习

进程与进程管理: 清屏:system("clear"); //#include <signal.h> 系统调用: write(文件描述符,字符串,字符串大小).read(文件描述符,字符串,字符串大小),读取文件中前'字符串大小'的内容,并保存到字符串中(而且只要open不更改打开模式,默认情况会在文件内容为空时,阻塞进程):成功则返回读到的字符串大小(0-'字符串大小'),否则返回-1. open(文件名,打开模式),返回文件描述符.close(文件描述符),关闭用ope

linux 进程学习笔记-共享内存

如果能划定一块物理内存,让多个进程都能将该内存映射到其自身虚拟内存空间的话,那么进程可以通过向这块内存空间读写数据而达到通信的目的.另外,和消息队列不同的是,共享的内存在用户空间而不是核空间,那么就不存在“用户空间和内核空间之间数据复制”的问题,这会减少不少开销. 由于不同进程都可能向同一个空间读写数据,所以其需要一些同步机制来防止混乱,可以使用的机制有“信号量”“文件锁”等. 共享内存有mmap和System V Shared Memory, 下面说的是后者. 创建或打开共享内存: int s

linux 进程学习笔记-等待子进程结束

<!--[if !supportLists]-->Ÿ <!--[endif]-->等待子进程结束 pid_t waitpid(pid_t pid, int *stat_loc, int options) 另外有一个函数叫wait,其相当于 waitpid(-1, &status, 0) 大家经常看到的关于waitpid的经典例子是:你下载了某个软件的安装程序A,其在安装即将结束时启动了另外一个流氓软件的安装程序B,当B也安装结束后,其告诉你所有安装成功了.A和B分别在不同的

Linux 程序设计学习笔记----进程管理与程序开发(下)

转载请注明出处:http://blog.csdn.net/suool/article/details/38419983,谢谢! 进程管理及其控制 创建进程 fork()函数 函数说明具体参见:http://pubs.opengroup.org/onlinepubs/009695399/functions/fork.html 返回值:Upon successful completion, fork() shall return 0 to the child process and shall re

Linux内核学习-进程

先说几个术语: 一.Linux进程的五个段 下面我们来简单归纳一下进程对应的内存空间中所包含的5种不同的数据区都是干什么的.重点:代码段.数据段.堆栈段,这是一个概念堆.栈.全局区.常量区,这是另一个概念1)代码段:代码段是用来存放可执行文件的操作指令,也就是说是它是可执行程序在内存中的镜像.代码段需要防止在运行时被非法修改,所以只准许读取操作,而不允许写入(修改)操作--它是不可写的.代码段(code segment/text segment)通常是指用来存放程序执行代码的一块内存区域.这部分

linux内核学习:进程管理

进程状态 TASK_RUNNING 可运行或正在运行 TASK_INTERRUPTIBLE 进程被阻塞,但可以被信号唤醒 TASK_UNINTERRUPTIBLE 进程被阻塞,且不可以被信号唤醒 TASK_STOPPED 进程已停止,且不能再投入运行 TASK_ZOMBIE 所谓的僵死进程,进程描述符仍然保留 关键函数和结构 task_struct thread_info current clone fork exec wait exit linux内核学习:进程管理,布布扣,bubuko.co