前言
有時候運行一些shell腳本, 服務啟動后會一直占用當前的終端, 無法做其它事, 這時候特別想將這個shell命令放到后台運行, 不要占用當前的終端界面.
目的(需求)
- shell腳本正常運行
- shell腳本不影響當前終端的二次使用
解決辦法
- 使用
nohup
命令
nohup 你的shell命令 &
引申問題
- 那如果不想讓腳本繼續執行怎么辦呢?
使用ps
命令找到任務, 再用kill
命令中止任務
[root@kafka ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 00:45 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0 0 00:45 ? 00:00:00 [kthreadd]
# 使用ps + grep 查詢任務關鍵字, 縮小范圍
ps -ef | grep 任務的關鍵字
# 使用kill命令, 殺掉進程
[root@kafka ~]# ps -ef | grep zookeeper
root 2275 1389 0 04:58 pts/0 00:00:02 /usr/java/jdk1.8/...
# kill -9 pid
kill -9 2275