首页 > 资讯列表 > 软件学院 >> 系统程序

浅谈与进程管理相关的那些知识

系统程序 2014-11-27 10:15:22 转载来源: 网络整理/侵权必删

       关于进程管理,想必有些网友都有所耳闻,但是并不了解。所以呢,为了让网友们能够了解进程管理的相关知识,本次小编就和大家一起来了解这些个知识吧! 一 进程相关概念         进程:数据处理,管理数据,对数据进行计算

  

     关于进程管理,想必有些网友都有所耳闻,但是并不了解。所以呢,为了让网友们能够了解进程管理的相关知识,本次小编就和大家一起来了解这些个知识吧!

一 进程相关概念         进程:数据处理,管理数据,对数据进行计算。独占资源,数据处理,一个进程可以有多个线程,也可以没有;     线程:依附于进程运行,也是处理数据。线程之间共享资源;一个线程中不能有进程,而且线程中不允许有线程;可以启动多个线程,但每次执行的结果不一样   二 查看进程相关命令   1.ps [plain]  [root@client01 ~]# ps    PIDTTY          TIME CMD    1157pts/0    00:00:00 bash    1600pts/0    00:00:00 ps   #ps -ef包括的进程有:前台进程、后台进程、多个终端运行的进程   [root@client01 ~]# ps -ef       UID       PID  PPID  C STIME TTY          TIME CMD   root        1     0  0 16:49 ?        00:00:00 /sbin/init       #UID:用户编号   #PID:进程编号   #PPID:父进程编号   #STIME:开始启动时间   #TTY:?表示后台进程   #TIME:占用CPU的时间   #CMD:启动的命令   #[]:后台进程       [root@client01 ~]# ps -aux   USER      PID %CPU %MEM    VSZ  RSS TTY      STAT START   TIME COMMAND   root        1  0.0  0.3 19204  1484 ?        Ss  16:49   0:00 /sbin/init       #每一列代表什么意思可以通过man手册到       #init:该进程不能杀死     2.top:动态显示进程的所有信息 [plain]  top - 19:37:19 up  2:47, 1 user,  load average: 0.00, 0.00,0.00   Tasks: 73 total,   1 running,  72 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   Mem:   384996k total,   148672kused,   236324k free,    10564k buffers   Swap: 1048568k total,        0kused,  1048568k free,    49440k cached       #僵尸进程:子进程死掉,父进程并不知道。父进程仍然分配资源,会对系统资源进行浪费。不能杀死。处理:重启系统       #孤儿进程:父进程死掉,子进程就成了孤儿进程。不用管理。上一级进程进行管理(一般是init)。       #buffer(主要在内存中):主要解决速率不匹配问题,磁盘和内存之间的缓冲区   #cache(主要在CPU中):主要解决速率不匹配问题,CPU和内存的数据缓冲区     三 启动和关闭进程 [plain]  #启动一个进程   [root@client01 ~]# /etc/init.d/postfixstart   [root@client01 ~]# /etc/init.d/postfix stop   Shutting down postfix:                                     [  OK  ]   [root@client01 ~]# service postfix start   Starting postfix:                                         [  OK  ]   [root@client01 ~]# service postfix stop   Shutting down postfix:                                     [  OK  ]   [root@client01 ~]# service postfix restart   Shutting down postfix:                                     [  OK  ]   Starting postfix:                                         [  OK  ]   [root@client01 ~]# ps -ef|grep postfix   root     2145     1  0 13:34 ?        00:00:00 /usr/libexec/postfix/master   postfix  2147  2145  0 13:34 ?        00:00:00 pickup -l -t fifo -u   postfix  2148  2145  0 13:34 ?        00:00:00 qmgr -l -t fifo -u   root     2150  1157  0 13:34 pts/0    00:00:00 grep postfix       #安装httpd服务器   [root@client01 ~]# yum install httpd -y   [root@client01 ~]# /etc/init.d/httpd start   Starting httpd: httpd:apr_sockaddr_info_get() failed for client01.host.com   httpd: Could not reliably determine theserver's fully qualified domain name, using 127.0.0.1 for ServerName                                                              [  OK  ]   [root@client01 ~]# /etc/init.d/httpd stop   Stopping httpd:                                           [  OK  ]   [root@client01 ~]# /etc/init.d/httpd start   Starting httpd: httpd:apr_sockaddr_info_get() failed for client01.host.com   httpd: Could not reliably determine theserver's fully qualified domain name, using 127.0.0.1 for ServerName                                                             [  OK  ]   [root@client01 ~]# ps -ef|grep httpd   root     2203     1  0 13:35 ?       00:00:00 /usr/sbin/httpd   apache   2205  2203  0 13:35 ?        00:00:00 /usr/sbin/httpd   apache   2206  2203  0 13:35 ?        00:00:00 /usr/sbin/httpd   apache   2207  2203  0 13:35 ?        00:00:00 /usr/sbin/httpd   apache   2208  2203  0 13:35 ?       00:00:00 /usr/sbin/httpd   apache   2209  2203  0 13:35 ?        00:00:00 /usr/sbin/httpd   apache   2210  2203  0 13:35 ?        00:00:00 /usr/sbin/httpd   apache   2211  2203  0 13:35 ?        00:00:00 /usr/sbin/httpd   apache   2212  2203  0 13:35 ?       00:00:00 /usr/sbin/httpd   root     2214  1157  0 13:35 pts/0    00:00:00 grep httpd       [root@client01 ~]# /etc/init.d/httpd stop   Stopping httpd:                                           [  OK  ]   [root@client01 ~]# ps -ef|grep httpd   root     2222  1157  0 13:37 pts/0    00:00:00 grep httpd           #关闭一个进程       #一个服务:多个进程组成       #模拟孤儿进程       #kill 杀死进程   [root@client01 ~]# /etc/init.d/httpd start   Starting httpd:   [root@client01 ~]# ps -ef|grep httpd   root     2228     1  0 13:38 ?        00:00:00 /usr/sbin/httpd   apache   2230  2228  0 13:38 ?        00:00:00 /usr/sbin/httpd   apache   2231  2228  0 13:38 ?        00:00:00 /usr/sbin/httpd   apache   2232  2228  0 13:38 ?        00:00:00 /usr/sbin/httpd   apache   2233  2228  0 13:38 ?        00:00:00 /usr/sbin/httpd   apache   2234  2228  0 13:38 ?        00:00:00 /usr/sbin/httpd   apache   2235  2228  0 13:38 ?        00:00:00 /usr/sbin/httpd   apache   2236  2228  0 13:38 ?        00:00:00 /usr/sbin/httpd   apache   2237  2228  0 13:38 ?        00:00:00 /usr/sbin/httpd   root     2250  1157  0 13:40 pts/0    00:00:00 grep httpd   #杀掉后,再次查询,没有该服务   [root@client01 ~]# kill 2228   [root@client01 ~]# ps -ef|grep httpd   root     2252  1157  0 13:40 pts/0    00:00:00 grep httpd       #模拟孤儿进程   [root@client01 ~]# /etc/init.d/httpd start   Starting httpd: httpd:apr_sockaddr_info_get() failed for client01.host.com   httpd: Could not reliably determine theserver's fully qualified domain name, using 127.0.0.1 for ServerName                                                             [  OK  ]   [root@client01 ~]# ps -ef|grep httpd   root     2258     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2260  2258  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2261  2258  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2262  2258  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2263  2258  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2264  2258  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2265  2258  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2266  2258  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2267  2258  0 13:41 ?        00:00:00 /usr/sbin/httpd   root     2269  1157  0 13:41 pts/0    00:00:00 grep httpd       #强制杀死   [root@client01 ~]# kill -9 2258   [root@client01 ~]# ps -ef|grep httpd   apache   2260     1  0 13:41 ?       00:00:00 /usr/sbin/httpd   apache   2261     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2262     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2263     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2264     1  0 13:41 ?       00:00:00 /usr/sbin/httpd   apache   2265     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2266     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2267     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   root     2271  1157  0 13:41 pts/0   00:00:00 grep httpd       #访问:可以正常浏览器访问,说明服务正常,但是以后是否能访问就不一定,这些进程过一段会自动回收   [root@larrywen ule-sa1]# firefox       [root@client01 ~]# /etc/init.d/httpdrestart   Stopping httpd:                                           [FAILED]   Starting httpd: httpd:apr_sockaddr_info_get() failed for client01.host.com   httpd: Could not reliably determine theserver's fully qualified domain name, using 127.0.0.1 for ServerName   (98)Address already in use: make_sock:could not bind to address [::]:80   (98)Address already in use: make_sock:could not bind to address 0.0.0.0:80   no listening sockets available, shuttingdown   Unable to open logs                                                             [FAILED]   [root@client01 ~]# ps -ef|grep httpd   apache   2260     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2261     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2262     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2263     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2264     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2265     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2266     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2267     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   root     2326  1157  0 13:45 pts/0    00:00:00 grep httpd       [root@client01 ~]# kill 2260   [root@client01 ~]# ps -ef|grep httpd   apache   2261     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2262     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2263     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2264     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2265     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2266     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   apache   2267     1  0 13:41 ?        00:00:00 /usr/sbin/httpd   root     2328  1157  0 13:45 pts/0    00:00:00 grep httpd   #正则匹配,全部杀死   [root@client01 ~]# pkill httpd   [root@client01 ~]# ps -ef|grep httpd   root     2331  1157  0 13:45 pts/0    00:00:00 grep httpd       [root@client01 ~]# /etc/init.d/httpd start   Starting httpd: httpd:apr_sockaddr_info_get() failed for client01.host.com   httpd: Could not reliably determine theserver's fully qualified domain name, using 127.0.0.1 for ServerName                                                             [  OK  ]   [root@client01 ~]# ps -ef|grep httpd   root     2337     1  0 13:47 ?        00:00:00 /usr/sbin/httpd   apache   2339  2337  0 13:47 ?        00:00:00 /usr/sbin/httpd   apache   2340  2337  0 13:47 ?        00:00:00 /usr/sbin/httpd   apache   2341  2337  0 13:47 ?        00:00:00 /usr/sbin/httpd   apache   2342  2337  0 13:47 ?        00:00:00 /usr/sbin/httpd   apache   2343  2337  0 13:47 ?        00:00:00 /usr/sbin/httpd   apache   2344  2337  0 13:47 ?        00:00:00 /usr/sbin/httpd   apache   2345  2337  0 13:47 ?        00:00:00 /usr/sbin/httpd   apache   2346  2337  0 13:47 ?        00:00:00 /usr/sbin/httpd   root     2348  1157  0 13:48 pts/0    00:00:00 grep httpd   #要查清楚,强制杀:很危险   [root@client01 ~]# pkill -9 httpd   [root@client01 ~]# ps -ef|grep httpd   root     2351  1157  0 13:48 pts/0    00:00:00 grep httpd       #列出所有的信号量   [root@client01 ~]# kill -l    1)SIGHUP   2) SIGINT    3) SIGQUIT 4) SIGILL     5) SIGTRAP    6)SIGABRT 7) SIGBUS   8) SIGFPE    9) SIGKILL   10) SIGUSR1   11) SIGSEGV 12)SIGUSR2 13) SIGPIPE   14) SIGALRM       15) SIGTERM   16) SIGSTKFLT      17) SIGCHLD 18) SIGCONT       19) SIGSTOP 20) SIGTSTP   21) SIGTTIN  22)SIGTTOU       23) SIGURG  24) SIGXCPU 25)SIGXFSZ   26) SIGVTALRM   27) SIGPROF 28) SIGWINCH     29) SIGIO      30)SIGPWR   31) SIGSYS    34)SIGRTMIN     35) SIGRTMIN+1 36) SIGRTMIN+2 37)SIGRTMIN+3   38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42)SIGRTMIN+8   43) SIGRTMIN+9 44) SIGRTMIN+10      45)SIGRTMIN+11      46) SIGRTMIN+12      47) SIGRTMIN+13   48) SIGRTMIN+14      49) SIGRTMIN+15      50)SIGRTMAX-14      51) SIGRTMAX-13      52) SIGRTMAX-12   53) SIGRTMAX-11      54) SIGRTMAX-10      55)SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7   58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62)SIGRTMAX-2   63) SIGRTMAX-1 64) SIGRTMAX           #使用killall命令(启动的服务名字,不能通配使用)。建议使用,避免误杀(因为其他服务有可能重名)   [root@client01 ~]# /etc/init.d/httpd start   Starting httpd: httpd:apr_sockaddr_info_get() failed for client01.host.com   httpd: Could not reliably determine theserver's fully qualified domain name, using 127.0.0.1 for ServerName                                                              [  OK  ]   [root@client01 ~]# ps -ef|grep http   root     2366     1  0 13:52 ?        00:00:00 /usr/sbin/httpd   apache   2368  2366  0 13:52 ?        00:00:00 /usr/sbin/httpd   apache   2369  2366  0 13:52 ?        00:00:00 /usr/sbin/httpd   apache   2370  2366  0 13:52 ?        00:00:00 /usr/sbin/httpd   apache   2371  2366  0 13:52 ?        00:00:00 /usr/sbin/httpd   apache   2372  2366  0 13:52 ?        00:00:00 /usr/sbin/httpd   apache   2373  2366  0 13:52 ?        00:00:00 /usr/sbin/httpd   apache   2374  2366  0 13:52 ?        00:00:00 /usr/sbin/httpd   apache   2375  2366  0 13:52 ?        00:00:00 /usr/sbin/httpd   root     2377  1157  0 13:53 pts/0    00:00:00 grep http   [root@client01 ~]# killall httpd   [root@client01 ~]# ps -ef|grep http   root     2380  1157  0 13:53 pts/0    00:00:00 grep http   [root@client01 ~]# /etc/init.d/httpd start   Starting httpd: httpd:apr_sockaddr_info_get() failed for client01.host.com   httpd: Could not reliably determine theserver's fully qualified domain name, using 127.0.0.1 for ServerName                                                             [  OK  ]   [root@client01 ~]##xkill命令    killall http       #xkill命令(点谁谁死)   [root@larrywen Desktop]# yum install xkill-y   [root@larrywen Desktop]# xkill   Select the window whose client you wish tokill with button 1....       #保存top的信息然后用于分析   [root@client01 ~]# top -b -n 2 > top.txt     四 前台进程和后台进程 [plain]  #前台进程   [root@client01 ~]# find / -name"aaaaa"   [root@client01 ~]# vim aa01.txt       #后台进程   [root@client01 ~]# vim aa01.txt       [1]+ Stopped                 vimaa01.txt   [root@client01 ~]# ps -ef|grep vim   root     2561  2426  0 14:09 pts/0    00:00:00 vim aa01.txt   root     2563  2426  0 14:09 pts/0    00:00:00 grep vim   [root@client01 ~]# vim aa02.txt       [2]+ Stopped                 vimaa02.txt   [root@client01 ~]# vim aa03.txt       [3]+ Stopped                 vimaa03.txt   #查看任务   [root@client01 ~]# jobs   [1]  Stopped                 vimaa01.txt   [2]- Stopped                 vimaa02.txt   [3]+ Stopped                 vimaa03.txt       #按Ctrl+Z将进程停止,可以发现拷贝的文件大小不变   [root@larrywen opt]# cp -i/home/Wentasy/software/rhel-server-6.1-x86_64-dvd.iso ./   ^Z   [1]+ Stopped                 cp -i -i/home/Wentasy/software/rhel-server-6.1-x86_64-dvd.iso ./   [root@larrywen opt]# ll rhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 163512320 Aug  5 14:13 rhel-server-6.1-x86_64-dvd.iso   [root@larrywen opt]# llrhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 163512320 Aug  5 14:13 rhel-server-6.1-x86_64-dvd.iso   [root@larrywen opt]# jobs   [1]+ Stopped                 cp -i -i/home/Wentasy/software/rhel-server-6.1-x86_64-dvd.iso ./       #放到后台执行 bg加编号   [root@larrywen opt]# bg %1   [1]+ cp -i -i/home/Wentasy/software/rhel-server-6.1-x86_64-dvd.iso ./ &   [root@larrywen opt]# ll rhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 487411712 Aug  5 14:13 rhel-server-6.1-x86_64-dvd.iso   [root@larrywen opt]# llrhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 683212800 Aug  5 14:13 rhel-server-6.1-x86_64-dvd.iso           [root@client01 ~]# bg %1   [1] vim aa01.txt &   #放到前台执行   [root@client01 ~]# fg %1   vim aa01.txt   [root@client01 ~]# jobs   [2]- Stopped                 vimaa02.txt   [3]+ Stopped                 vimaa03.txt       #放到后台执行   [root@larrywen opt]# cp /home/Wentasy/software/rhel-server-6.1-x86_64-dvd.iso./ &   [1] 12611   [root@larrywen opt]# llrhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 1289060352 Aug  5 14:16 rhel-server-6.1-x86_64-dvd.iso   [root@larrywen opt]# llrhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 1392214016 Aug  5 14:16 rhel-server-6.1-x86_64-dvd.iso       [1]+ Done                    cp -i/home/Wentasy/software/rhel-server-6.1-x86_64-dvd.iso ./       [root@larrywen opt]# cp/home/Wentasy/software/rhel-server-6.1-x86_64-dvd.iso ./ &   [1] 12647   [root@larrywen opt]# jobs   [1]+ Running                 cp -i/home/Wentasy/software/rhel-server-6.1-x86_64-dvd.iso ./ &   #Ctrl+C:中断,可以发现文件大小不变   [root@larrywen opt]# fg %1   cp -i/home/Wentasy/software/rhel-server-6.1-x86_64-dvd.iso ./   ^C   [root@larrywen opt]# jobs   [root@larrywen opt]# llrhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 2298707968 Aug  5 14:17 rhel-server-6.1-x86_64-dvd.iso   [root@larrywen opt]# llrhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 2298707968 Aug  5 14:17 rhel-server-6.1-x86_64-dvd.iso       [root@client01 ~]# jobs   [2]- Stopped                 vimaa02.txt   [3]+ Stopped                 vimaa03.txt   [root@client01 ~]# kill %2       [2]- Stopped                 vimaa02.txt   [root@client01 ~]# jobs   [2]+ Stopped                 vim aa02.txt   [3]- Stopped                 vimaa03.txt   [root@client01 ~]# kill -9 %2       [2]+ Stopped                 vimaa02.txt   [root@client01 ~]# jobs   [2]+ Killed                  vimaa02.txt   [3]- Stopped                 vimaa03.txt       [root@client01 ~]# jobs   [3]+ Stopped                 vimaa03.txt   [root@client01 ~]# kill -9 %3       [3]+ Stopped                 vimaa03.txt   [root@client01 ~]# jobs   [3]+ Killed                  vimaa03.txt   [root@client01 ~]# jobs       #后台执行   [root@client01 ~]# cp rhel.iso /opt/ &       [root@client01 ~]# nohup cp rhel.iso /opt/       #拷贝的时候关闭终端   [root@larrywen Desktop]# scp/home/Wentasy/software/rhel-server-6.1-x86_64-dvd.iso 192.168.1.11:/root   #文件大小不变   [root@client01 ~]# llrhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 171425792 Aug  5 14:33 rhel-server-6.1-x86_64-dvd.iso   [root@client01 ~]# llrhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 171425792 Aug  5 14:33 rhel-server-6.1-x86_64-dvd.iso   [root@client01 ~]# llrhel-server-6.1-x86_64-dvd.iso   [root@client01 ~]# rm -frhel-server-6.1-x86_64-dvd.iso       #后台执行,&,关闭终端后仍然在拷贝   [root@larrywen opt]# cp/home/Wentasy/software/rhel-server-6.1-x86_64-dvd.iso /opt &   [root@larrywen opt]# llrhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 3600812032 Aug  5 14:38 rhel-server-6.1-x86_64-dvd.iso   [root@larrywen opt]# llrhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 3600812032 Aug  5 14:38 rhel-server-6.1-x86_64-dvd.iso       #后台执行,nohup,关闭终端后仍然在拷贝   [root@larrywen opt]# nohup cp/home/Wentasy/software/rhel-server-6.1-x86_64-dvd.iso /opt   [root@larrywen opt]# llrhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 2561306624 Aug  5 14:40 rhel-server-6.1-x86_64-dvd.iso   [root@larrywen opt]# llrhel-server-6.1-x86_64-dvd.iso   -rwxr-xr-x. 1 root root 2665922560 Aug  5 14:40 rhel-server-6.1-x86_64-dvd.iso   [root@larrywen opt]# llrhel-server-6.1-x86_64-dvd.iso        以上就是关于进程管理的相关知识,希望这些知识能够对网友们有所帮助哦!(责任编辑:admin)

标签: 浅谈 进程 管理 相关 那些 知识


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持