进程和进程控制

查看进程状态
      w 查看个别用户的进程 w username
      
      [root@localhost home]# w
         23:52:01 up  2:24,  4 users,  load average: 0.12, 0.31, 0.24
        USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
        xiaobai  pts/0    192.168.0.14     21:35    0.00s  1.87s  0.42s sshd: xiaobai [priv]
        xiaobai  tty2     -                22:24   16:52   0.18s  0.18s -bash
        xiaobai  tty1     :0               23:42    2:23m 38.10s  0.40s pam: gdm-password
        xiaobai  pts/1    :0.0             23:44    5:34  11.65s  0.07s /bin/sh /usr/lib/firefox-3.6/run-mozilla.sh /usr/lib/firefox-3.6/fire
      
      tty:本地登录
      pts:远程登录
      
      JCPU:以终端单号来区分 该终端所有相关的进程执行时所消耗的cpu的时间
      
      PCPU:cpu执行程序所耗费的时间
      
      WHAT:用户正在执行的操作
      
      from:从何处登录的
      
      IDLE:用户闲置的时间 ()
      
      load average:分别显示程序1、5、10分钟程序的负载程度(非常重要)
      一般负载值在0.8一下 证明负载较轻  如果在几十或几百 系统要挂了      
      
    ps -aux   (pa aux)
        -a 显示所有用户的进程
        -u 显示用户名和启动时间
        -x 显示没有控制终端的进程(系统自己开启的进程)
        
    ps -el
        -e 显示所有进程 ,包括没有控制终端的进程
        -l 以格式显示        
        
    直接打ps会显示当前用户的进程
    
    
    PID 进程号     为1 初始化进程    
    PPID 父进程的进程    
    TTY 进程启动的终端
    STAT
        s 休眠
        D 不可中断的休眠
         R 运行
        Z 僵死  (没有父进程的子进程)
        T 停止
    NI  进程优先级 (优先级越高 程序的CPU就会越优先的执行它  在ps -el里
    TIME 系统从启动以来 启动CUP的总时间
    %CUP  占用CUP的时间和总时间的百分比
    %MEM  占用内存与内存总量的百分比
    COMMAND  命令名称
    
    ps -aux --sort pid
    ps -aux --sort user
    
    判断一个进程是否启动了
    ps -aux | grep httpd
    
    查看单个用户的进程
    ps -uU xiaobai
    ps -aux | grep xiaobai
    查看指定进程信息
    ps -le | grep init
    查看进程的树状结构
    pstree
    
   进程的挂起和恢复
      ctrl+z 到后端执行  挂起
      ctrl+c 终止进程
      
      find / -name init*
      按ctrl+z 暂停
      
      command &  在后端执行
      command
      ctrl + c ctrl + z
      
      jobs  查看在后端运行的进程
      fg 1  fg 2  把后端运行的进程拿到前端
      
      bg 1 bg 2  (另开终端 恢复到后台)
      
   杀死或重新启动进程
   
   改变运行优先级
   
2.进程状态的查看与控制
   kill   结束进程
   kill -s  信号  进程号
   kill -l  列出信号
   killall  进程名(CMD)
   关闭图形程序:xkill
   
   
   关闭apache服务
   kill 父进程
   killall httpd
   
   kill -s 9 (kill -9)强行关闭继承
   kill -s 1 (kill -1)(重启进程)
   
   改变进程的优先级(-20,19)
     firefox &  在后台执行
     find / -name init > /test/init.find &
     nice -n firefox  (开启的时候指定优先级) 指定程序运行优先级
     renice n pid      改变一个正在运行的进程的优先级
    
     nice --5 /etc/rc.d/init.d/httpd start
     ps -el | grep httpd
    
   时时的查看进程  
   top  默认5秒钟变化一次   
   top -d 1  (一秒钟变化一次)
   top -d 1 -c (命令以全程显示)
   top -q 立刻更新所显示的信息
     q 退出
     u 查看某个用户的进程
     h 帮助
     k pid 杀死某个进程

在/proc目录中存放了进程启动的信息
cat /proc/partitions 查看分区
cat /proc/cpuinfo 查看cpu的信息
cat /proc/meminfo 查看内存信息

pgrep httpd 列出所有httpd进程

kill -1 `pgrep httpd` 重启httpd进程
pkill httpd 关闭httpd下的所有服务

nohup
使进程在用户退出登录后仍旧继续执行,nohup命令将执行后的数据信息和错误信息
默认储存到文件nohup.out中
格式
nohup program &

nohup find / -name init* > /root/find.init.20120103 &

最近一个项目需要通过JAVA调用aix机器的shell脚本,但是出现了不好理解的现象,有时能够调用脚本成功,有时候失败。

 

后来在IBM的网站上查到,原来通过nohup执行命令时,如果过早退出session,会导致nohup执行失败,所以在执行命令后,最好休息几秒,以确保nohup有更多的时间来执行命令。

你可能感兴趣的:(kill,脚本,command,远程登录,firefox,终端)