1、查看进程
某个进程的基础上生成了另一个进程,则它们为父子进程;
[root@clz ~]# pstree
├─sshd───sshd───bash───pstree
[root@clz ~]# ps PID TTY TIME CMD 2797 pts/0 00:00:00 bash 2874 pts/0 00:00:00 ps
查看所有进程,x表示显示不属于任何终端的子进程,即tty显示为?,ps -ef等同于ps aux,不同的系统风格而已:
[root@clz ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY(终端) STAT(状态) START TIME COMMAND root 1 0.2 0.7 53676 7580 ? Ss 17:49 0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 24 root 2 0.0 0.0 0 0 ? S 17:49 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 17:49 0:00 [ksoftirqd/0]
如果只显示某几列的值,则可以使用以下命令,比如只想显示PID,CPU,MEM:
[root@clz ~]# ps -ex -o pid,%cpu,%mem --noheader|head 1 0.1 0.7 2 0.0 0.0 3 0.0 0.0 5 0.0 0.0 6 0.0 0.0 7 0.0 0.0 8 0.0 0.0 9 0.0 0.0 10 0.0 0.0 11 0.0 0.0
动态显示系统的进程信息,使用top命令,可以在top命令后面加上时间选项,调整进程显示频率,如top 1:
top - 18:22:31 up 33 min, 2 users, load average: 0.00, 0.01, 0.06 Tasks: 255 total, 2 running, 253 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem: 1010860 total, 590376 used, 420484 free, 884 buffers KiB Swap: 2097148 total, 0 used, 2097148 free. 218452 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3249 root 20 0 123776 1764 1156 R 0.3 0.2 0:00.08 top 1 root 20 0 53676 7580 2524 S 0.0 0.7 0:03.04 systemd
2、查看进程的信号
常用的信号为:9——杀死进程,15——终止进程;2——相当于ctrl+c;使用方式:kill -9 PID,kill如果不指定信号值,则默认指15
[root@clz ~]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL10) SIGUSR1 11) SIGSEGV12) SIGUSR213) SIGPIPE14) SIGALRM15) SIGTERM 16) SIGSTKFLT17) SIGCHLD18) SIGCONT19) SIGSTOP20) SIGTSTP 21) SIGTTIN22) SIGTTOU23) SIGURG24) SIGXCPU25) SIGXFSZ 26) SIGVTALRM27) SIGPROF28) SIGWINCH29) SIGIO30) SIGPWR 31) SIGSYS34) SIGRTMIN35) SIGRTMIN+136) SIGRTMIN+237) SIGRTMIN+3 38) SIGRTMIN+439) SIGRTMIN+540) SIGRTMIN+641) SIGRTMIN+742) SIGRTMIN+8 43) SIGRTMIN+944) SIGRTMIN+1045) SIGRTMIN+1146) SIGRTMIN+1247) SIGRTMIN+13 48) SIGRTMIN+1449) SIGRTMIN+1550) SIGRTMAX-1451) SIGRTMAX-1352) SIGRTMAX-12 53) SIGRTMAX-1154) SIGRTMAX-1055) SIGRTMAX-956) SIGRTMAX-857) SIGRTMAX-7 58) SIGRTMAX-659) SIGRTMAX-560) SIGRTMAX-461) SIGRTMAX-362) SIGRTMAX-2 63) SIGRTMAX-164) SIGRTMAX
可以使用pgrep和pidof直接查看进程PID,两个命令的区别是pidof是精确匹配,pgrep支持模糊匹配:
[root@clz ~]# pgrep ssh 1621 2793
ctrl+z可以让进程在后台运行,通过jobs命令可以查看后台运行的进程,bg 后台PID和fg PID可以让进程在后台或者前台运行,要杀死后台运行的进程,可以使用命令:kill -9 %1(后台运行的PID):
通过使用nohup命令可以让进程在后台运行,即使终端关闭,进程也会继续运行:
[root@clz ~]# nohup firefox %> /dev/null &
本文出自 “平凡之路” 博客,请务必保留此出处http://linjohn.blog.51cto.com/1026193/1598759
原文地址:http://linjohn.blog.51cto.com/1026193/1598759