前台到后台
vi .bashrc
然后在vi里用ctrl + z退出来
则会在终端显示出来
[1]+ Stopped vim .bashrc
这时候用jobs察看可以看到挂起的工作
bg 将后台中的程序由stopped变成running
fg 则是将后台中的命令移到前台
比如
1就是jobs显示的编号
bg %1
fg %1
jobs:显示后台任务的执行情况。
先把两个进程放在系统后台运行,然后使用jobs命令查看后台任务的执行情况:
#du -a /etc > user.data &
[1] 233
# find / -name core -type f -ls > core.data &
[2] 234
#jobs –l
[1] + 237 Running du -a /etc > user.data
[2] - 238 Running find / -name core -type f -ls > core.data
说明:上面的当前任务是“du -a /etc > user.data”,因为后台任务号码是“[1]”。当第一个后台任务顺利执行完毕,第二个后台任务还在执行中时,当前任务便会自动变成后台任务号码“[2]”的后台任务。即当前任务是动态的。
杀进程,但是默认的只是将程序停止而已,不一定是清除干净,所以需要彻底删除的话要发送一个信号,使用-9而 -15称为terminal是以一般的正常程序砍掉一个jobs,-9是强行终止
kill -9 %1
PID: process ID进程号
PPID-父进程,child process 子进程,子进程依赖于父进程,子进程死掉对父进程没影响,父进程死掉了后,所有子进程都会挂掉
ps命令
输入下面的ps命令,显示所有运行中的进程:
# ps aux | less
其中,
-A:显示所有进程
a:显示终端中包括其它用户的所有进程
x:显示无控制终端的进程
任务:查看系统中的每个进程。
# ps -A # ps -e
任务:查看非root运行的进程
# ps -U root -u root -N
任务:查看用户vivek运行的进程
# ps -u vivek一般用ps -aux,其中aux是选项
pstree以树状显示正在运行的进程。树的根节点为pid或init。如果指定了用户名,进程树将以用户所拥有的进程作为根节点。
$ pstree
任务:获得线程信息
输入下列命令:
# ps -eLf # ps axms
任务:查找进程
使用pgrep命令。pgrep能查找当前正在运行的进程并列出符合条件的进程ID。例如显示firefox的进程ID:
$ pgrep firefox
下面命令将显示进程名为sshd、所有者为root的进程。
$ pgrep -u root sshd
nohup:用户退出系统之后继续工作
作用:nohup命令确保执行程序能在用户退出系统之后继续工作。
格式:nohup命令
说明:一般退出Linux系统时,会把所有的程序全部结束,包括那些后台程序。但有时候,例如,用户正在下载一 个很大的文件,但是你因下班或有事需要先退出系统,希望退出系统时程序还能继续执行。这时,我们就可以使用nohup命令使进程在用户退出后仍继续执行。 同时这些进程都在后台执行(命令放到后台运行,nohup必须与&操作同时使用),结果则会写到用户自己的目录下的nohup.out文件里。
应用实例如下。
程序在后台自动执行:
nohup wget -c -t0 http://www.bsdr.com/ghs1.rar &