进程的挂起及恢复

进程的挂起及恢复

#ctrl+z:挂起,程序放到后台,程序没有结束。
#jobs:查看被挂起的程序工作号
恢复进程执行时,有两种选择:fg命令将挂起的作业放回到前台执行;用bg命令将挂起的作业放到后台执行
格式:fg 工作号;bg 工作号
进程:正在执行的一个程序
程序:是一种写好的代码或脚本
&:后台执行,不占用终端
如:xeyes &

ps命令进程查看命令
ps命令:process status
-e 显示所有进程
-f 全格式
-h 不显示标题
-l 长格式
-w 宽输出
a 显示终端上的所有进程,包括其他用户的进程
r 只显示正在运行的进程
x 显示没有控制终端的进程

最常用三个参数是u、a、x。
#ps axu的输出格式
USER:进程拥有者
PID:进程号
%CPU:占用的CPU使用率
%MEM:占用的内存使用率
VSZ;占用的虚拟内存大小
RSS:占用的内存大小
TTY:终端设备号
STAT:改进程状态
START:进程开始时间
TIME:执行的时间
COMMAND:所执行的指令
D:不可中断的休眠(通常表示该进程正在进行I/O动作)
R:正在执行中
S:休眠状态
T:暂停执行
W:没有足够的内存分页可分配
<:高优先顺序的进程
N:低优先顺序的进程
L:有内存分页分配并锁在内存内(即时系统或定制I/O)

Kill:中断一个处理进程(process)
当中断一个前台进程是通常用ctrl+c;对于后台进程用kill命令
kill命令是通过向进程发送指定的信号来结束的。默认为TERM信号。TERM信号将终止所有不能捕获该信号的进程,对于能捕获该信号的进程需要使用kill –9信号,该信号是不能被捕获的。
kill杀终端,只能可以把终端的shell杀死,而退出终端,但终端不关闭
pkill 命令名 可以直接杀死进程
pkill qmail //直接杀死qmail程序进程


 

 

 

from : http://blog.sina.com.cn/s/blog_4d027b0001008n7d.html

 

 

 =================================================

 =================================================

 ================================================= 

kill -STOP  PID
kill -CONT  PID
SIGTSTP & SIGCONT
  

 

fork() 一个子进程,然后从父进程发送一个信号给它,测试父子进程之间的信号通讯。测试代码:

    #include <stdio.h>
    #include 
<sys/types.h>
    #include 
<unistd.h>
    #include 
<signal.h>
    #include 
<stdlib.h>

    
void handler(int signo)
    {
        printf(
"recv the signal from parent process\n");
    }


    
int main()
    {
        pid_t pid;
       
        pid 
= fork();

        
switch(pid)
        {
            
case -1:
                perror(
"fork failed");
                exit(
1);
            
case 0:
                printf(
"in the child\n");
                signal(SIGCONT, handler);
                pause();
                printf(
"child weakup\n");
                
break;
            
default:
                printf(
"in the parent\n");
                sleep(
5);
                kill(pid, SIGCONT);
                sleep(
5);
                printf(
"parent weakup\n");
                
break;
        }
        printf(
"bye..\n");

        exit(
0);
    }

 

 from: http://www.groad.net/bbs/read.php?tid=936

 

 

posted @ 2011-06-10 21:41  邓维  阅读(12562)  评论(0编辑  收藏  举报