文章目录
一.后台执行
nohup sh run.sh >log.txt 2>&1 &
如果是python程序要加-u
,不然日志不能正常输出,执行:
nohup python -u run.py >log.txt 2>&1 &
输出:
[1] 13549 # 进程号,后面查看相关信息用到。
这个命令分五个部分,分别是nohup
、sh run.sh
、>log.txt
、2>&1
、&
。
nohup
和最后的&
:表示命令在后台执行sh run.sh
执行run.sh脚本>log.txt
是将信息输出到log.txt日志中2>&1
是将标准错误信息转变成标准输出,这样就可以将错误信息输出到log.txt 日志里面来。- 如果是python脚本,加
-u
选项输出print
内容:nohup python -u run.py >log.txt 2>&1 &
其中 0、1、2分别代表如下含义:
- 0 – stdin (标准输入)
- 1 – stdout (标准输出)
- 2 – stderr (标准错误)
二.后台查看
1. 查看本地进程
ps -ef | grep 13549
输出:
work 12929 44118 0 11:36 pts/2 00:00:00 grep 13549
这个命令也是分五个部分ps
、-ef
、 |
、 grep
、 13549
。
ps
表示将某个进程显示出来-e
表示显示所有程序、-f
表示显示UID,PPIP,C与STIME栏位grep
表示查找和其后面内容相关的信息,即和13549
相关的信息|
是管道命令 是指ps命令与grep同时执行
输出的信息分别是:UID 、 PID 、PPID 、 C STIME 、 TTY、 TIME 、 CMD。
- UID 程序被该 UID 所拥有
- PID 就是这个程序的 ID
- PPID 则是其上级父程序的ID
- C CPU 使用的资源百分比
- STIME 系统启动时间
- TTY 登入者的终端机位置
- TIME 使用掉的 CPU 时间。
- CMD 所下达的指令为何
2. 查看hadoop进程
vim log.txt
三.终止进程
1.终止本地进程 kill -9 pid
kill -9 13549
2.终止hadoop进程 hadoop job -kill jobid
hadoop job -kill job_20180809144936_572433