简介
程序:通常为二进制文件,放置在储存媒体中,为实体文件
进程:程序被触发后,执行者的权限与属性、程序的代码与所需数据等都会加载到内存中,操作系统并给予这个内存内的
单元一个标识符(PID),可以说,进程就是一个正在运行中的程序。
bash下的工作管理job
将工作放在背景中执行:
在指令的末尾加上一个&符号即可
例如:cp file1 file2 & //回到bash界面,复制工作不会占据终端
将正在进行的任务丢到背景中,就是暂停
cp file1 file3 //占据终端执行复制工作中
此时按下ctrl + z //就会将复制工作暂停,放到背景中
观察目前的背景工作状态:
jobs [-lrs]
一般只用jobs即可
将背景工作拿到前景来处理:
fg %number
//%可有可无,number是jobs指令显示的工作号码
让工作在背景下的状态变成运行中:
bg %number
管理背景当中的工作:
常见信号
给指定工作发送指定信号
kill -signal %job_number
查看kill能够使用的信号:kill -l
脱机管理问题:
以远程联机方式连接到linux主机,并将工作以&放入背景中去,如果脱机了,那么job不会继续执行。
解决方法:
1.使用at来处理
2.使用nohup指令
nohup [指令与参数] [&]
进程信息掌控
进程观察:
ps aux //观察系统所有进程
ps -lA
ps axjf
ps -l //仅观察自己的bash相关的进程
ps -aux 各个字段代表的意思
动态观察进程的变化:
top [-d 更新间隔] | top [-p指定pid]
查看进程树:
pstree -A
调整优先级://不绝对影响优先级,最后看系统分析
nice
范围: -20至19
一般使用者仅可以加大nice值
使用:
执行时给予一个特定的nice值 nice -n [5] ps
调整某个已经存在的PID的nice值 renice [6] PID
观察内存:
free -h
查看系统核心相关信息:
uname -a
查看系统启动时间和工作负载:
uptime
追踪网络或插槽文件:
netstat -t[TCP] -u[UDP] -n[端口] -l[listen] -p[PID]
分析核心产生的讯息:
dmesg
侦测系统资源变化:
vmstat
由文件找出正在使用该文件的进程
fuser -uv file_name
列出被进程所开启的文件档名
lsof [-u hn]
找出某支正在执行的程序的PID:
pidof bash