Shell 命令掛后台執行


  使用nohup命令,結合&

#!/bin/bash

#掛后台執行文件 kimbo_test.sh

nohup sh kimbo_test.sh >a.log 2>&1 &

 


 

說明:0 是標准輸入(STDIN),1 是標准輸出(STDOUT),2 是標准錯誤輸出(STDERR)。 

黑洞: /dev/null

如清空文件內容: cat /dev/null > kimbo_test.sh

常見的重定向:  sh command >> file_log.txt 2>&1  (表示將 stdout 和 stderr 合並后重定向追加到 file_log.txt 中)

 

例子: 查詢liunx系統,是否按照Hive,Sqoop

#!/bin/bash

## 將標准錯誤(2)重定向到 /dev/null, 檢測hive環境, $? 判斷上一個命令是否執行成功
hive=$(which hive 2>/dev/null)
if [ $? -ne 0 ];then
    echo "沒有安裝或配置Hive環境!"
else
    echo "已安裝Hive。"
fi

## 檢測sqoop環境
sqoop=$(which sqoop 2>/dev/null)
if [ $? -ne 0 ];then
    echo "沒有安裝或配置Sqoop環境!"
else
    echo "已安裝Sqoop。"
fi

截圖:

 


免責聲明!

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



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