Linux下使shell腳本后台運行(shell命令脫離終端在后台運行)


前言

有時候運行一些shell腳本, 服務啟動后會一直占用當前的終端, 無法做其它事, 這時候特別想將這個shell命令放到后台運行, 不要占用當前的終端界面.



目的(需求)

  1. shell腳本正常運行
  2. 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



參考來源

Linux下使Shell 命令脫離終端在后台運行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM