shell编程,以后台模式运行进程,bg、fg、jobs -l、nohup、&
以后台模式运行脚本:
demo.sh & 只要在脚本后面加上“&”符号就可以了,会被当成一个独立的进程运行。
[ 1 ] 3231 #运行时会显示出一个进程号和进程ID
[ 1 ] Done ./demo.sh #运行结束后会显示一条消息
程序消息处理:
demo.sh > demo.txt & 后台运行时如果脚本有消息要输出任然会输出,会合命令行的命令混合在一起,所以要在运行前重定向输出。
注意:后台进程和终端联系在一起,退出终端后台进程也会退出。后台进程可以同时运行多个。
在非控制台下运行脚本:不受终端影响
nohup command &
例:nohup ./demo.sh &
此命令会解除终端与进程的关联,会忽略SIGHUP信号,进程也不会和STDOUT和STDERR联系在一起,但是会将输出自动保存在同目录下的nohup.out文件中。注意:如果在同一个目录下使用多个nohup执行脚本会将输出都保存在同一个nohup.out文件中。
查看作业:
jobs 查看已经停止或运行中的作业
-l 查看PID(process ID)
例:jobs -l
[1]+ 3515 Stopped demo.sh
[2] 3564 Running demo.sh > demo.txt &
[4]- 3570 Running demo.sh > demo.txt &
注意:命令输出中的“+”号代表默认作业使用,使用fg默认调该进程;“-”号为下一个默认作业。
重启停止的作业:
bg 以后台模式重启一个作业,即使脚本并没有以后台模式运行。
例:bg 2
注意:当有多个作业时要加上作业号,否者重启默认作业,
fg 以前台模式重启一个作业,有多个作业时加上作业号,否者重启默认作业,
例:fg 2
注意:以前台模式会接管当前的终端
- linux向windows中put文件
- shell编程,在脚本中使用函数,局部变量,传参,返回值,递归,引入库source,shtool函数库安装使用
- 清除最近三天的日志shell脚本
- shell编程,循环语句for,字段分格符IFS
- shell编程,跳出循环break n,continue n
- shell编程,信号的捕获修改和移除,trap命令,在脚本中处理信号
- shell编程,桌面环境中的脚本,select命令,dialog包的使用,kdialog、gdialog、zenity
- shell编程,if-then、else,case,数值、字符串、文件类型比较检测,[ ],(()),[[ ]]
- shell编程,定时运行作业at,atq,atrm,一次性定时任务
- 清理日志shell脚本