Linux知识点记录
-
- [1. 后台运行应用程序](#1. 后台运行应用程序)
-
- 方法一:`&`
- [方法二:`nohup + &`](#方法二:
nohup + &
)
- [2. 一个shell脚本中执行多个应用程序](#2. 一个shell脚本中执行多个应用程序)
- [3. `2>&1`](#3.
2>&1
)
1. 后台运行应用程序
参考文章:https://blog.csdn.net/Pan_peter/article/details/128875714
https://www.cnblogs.com/yunwangjun-python-520/p/10713564.html
方法一:&
在执行程序的时候后面加上 &
bash
# 后台执行该应用程序
./test &
查看任务是否在运行:ps -ef | grep test
可以通过kill
指令来关闭该程序
注意::该种方法当用户挂起或退出的时候,命令会自动结束,即当前终端退出的时候,程序也会自动结束
方法二:nohup + &
nohup
是指不挂断的运行,即使终端关闭也会继续运行
bash
nohup ./test &
可以通过输出重定向的方式将程序运行日志保存到文件中:
bash
nohup ./test > log.txt &
2. 一个shell脚本中执行多个应用程序
和上面后台运行程序
的方法一致 ,例如:后台运行test1和test2程序
bash
#! /bin/bash
echo "start program!!!"
./test1 &
./test2 &
echo "program start finished!!!"
sleep 1
exit 0
注意:如果test1
程序不指定为后台运行,test2
程序便不会执行
3. 2>&1
参考文章:https://blog.csdn.net/zhaominpro/article/details/82630528
这里的0,1,2分别代表标准输入(stdin),标准输出(stdout),标准错误(stderr)
2>&1
的含义:将标准错误输出重新定向到标准输出。