1. nohup
用途:不挂断地运行命令。
语法:nohup Command [ Arg … ] [ & ]
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
退出状态:该命令返回下列出口值:
126 可以查找但不能调用 Command 参数指定的命令。
127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
2.&
用途:在后台运行
一般两个一起用
nohup command &
举例1
服务器后台运行.py文件
#在后台运行 test.py的python脚本
nohup python test.py &
#在当前位置输出名字为logtest 日志
nohup python -u test.py > logtest.txt &
#查看 nohup.out的日志
在 nohup.out 文件目录下输入 tail -f nohup.out
# 如何查看 nohup.out 前50行日志
在 nohup.out 文件目录下输入 tail -fn 50 nohup.out
#如何查看 nohup.out 最后几行的日志
在 nohup.out 文件目录下输入 tail -n 50 nohup.out
#查看 logtest.txt的前50行日志
tail -fn 50 logtest.txt
查看正在运行的后台python程序
ps -ef | grep python
关闭 pid为1234的进程
kill 1234
举例2
服务器后台运行spark文件
#在后台运行 usertest-1.0-SNAPSHOT.jar中的的generFeature scala文件
nohup spark-submit --master spark://ml6:7077 --deploy-mode client --driver-memory 16g --total-executor-cores 24 --executor-memory 4G --conf spark.scheduler.listenerbus.eventqueue.capacity=100000 --class org.apache.spark.ml.transfor.generFeature /home/usertest-1.0-SNAPSHOT.jar --input_pt "/org_data.csv" --time_name START_TIME --grp_name CST_NO --interval "1,3,5,7" --purp_name_list "TRANS_SIG,AMOUNT,CLIENT_IP,CLIENT_MAC,BCARDS" --fromK 0 --lastK -1 &
## 带--的都是参数
##如果想自定义日志可以在“&”之前插入,变为
“nohup spark-submit --master spark://ml6:7077 --deploy-mode client --driver-memory 16g --total-executor-cores 24 --executor-memory 4G --conf spark.scheduler.listenerbus.eventqueue.capacity=100000 --class org.apache.spark.ml.transfor.generFeature /home/usertest-1.0-SNAPSHOT.jar --input_pt "/org_data.csv" --time_name START_TIME --grp_name CST_NO --interval "1,3,5,7" --purp_name_list "TRANS_SIG,AMOUNT,CLIENT_IP,CLIENT_MAC,BCARDS" --fromK 0 --lastK -1 > ~/generFeature.out &”
#在/(根目录下)生成名为generFeature的日志输出文件
#也可以用linux重定向输出日志(参考于: https://www.cnblogs.com/Bread-Wang/p/9951903.html)
nohup spark-submit testSpark.jar >> testLog.out 2>&1 & (后台运行输出1)
附:linux重定向
参考地址: 点击跳转
Linux重定向输出日志
重定向类型
0:标准输入。
1:标准输出。
2:错误信息输出。
2>&1:将错误信息重定向到标准输出。
重定向格式
1,./spark-submit.sh 2>spark.log,将./spark-submit.sh执行的错误信息输出重定向到当前目录的spark.log日志文件中。
2,./spark-submit.sh >spark.log 2>&1,将./spark-submit.sh执行的标准输出和错误信息重定向到当前目录的spark.log日志文件中。
3,如果想标准输出和错误信息都不显示,可以重定向到/dev/null中。