當前位置:首頁 » 編程軟體 » shell腳本nohup

shell腳本nohup

發布時間: 2022-07-28 21:04:31

linux shell腳本 nohup問題求助

你不應該放在profile,每個用戶登錄都會運行一次的。你確定hosts文件在mali目錄下?不是mail?

另外你應該把這段代碼寫成腳本 在profile中以nohup 加後台的方式運行這個腳本。

比如 保存到/etc/init_kafka
然後在 profile中添加
nohup /etc/init_kafaka &

② 往shell腳本中傳入參數

參數如下:
$# ----傳遞給程序的總的參數數目
$? ----上一個代碼或者shell程序在shell中退出的情況,如果正常退出則返回0,反之為非0值。
$* ----傳遞給程序的所有參數組成的字元串。
$n ----表示第幾個參數,$1 表示第一個參數,$2 表示第二個參數 ... $0 ----當前程序的名稱
$@----以"參數1" "參數2" ... 形式保存所有參數
$$ ----本程序的(進程ID號)PID
$! ----上一個命令的PID

③ 關於一個shell腳本的解釋問題

cd `dirname $0` //首先cd到腳本所在目錄

jar_file=$(ls *.jar) //然後列出jar格式的文件,並賦值給jar_file變數
mole_name=${jar_file%.*} //刪掉最後一個 . 及其右邊的字元串,即擴展名
now_date=$(date +%Y-%m-%d) //按格式取當前日期


// 下面這句是查找名為變數 mole_name 的進程,然後再找java進程。

// 然後顯示出第一行,第二個域。總的來說就是查找進程的PID

pid=$(ps -ef|grep ${mole_name}|grep java|head -n 1|awk '{print $2}');

echo kill ${mole_name} pid:${pid} // 結束上面找到進程

kill -9 $pid

// 設置JVM運行參數,最小內存386mb,最大內存512mb
JAVA_OPTS="-Xms386m -Xmx512m" 設置


// 如果沒有logs目錄則新建

if [ ! -d "logs" ]; then
mkdir logs
fi


// 重新執行變數jar_file變數指向的文件,並輸出日誌到logs目錄下的.out文件中,同時重新查找pid。
nohup java $JAVA_OPTS -jar ${jar_file} $params > logs/${mole_name}.out 2>&1 &
pid=$(ps -ef|grep ${mole_name}|grep java|head -n 1|awk '{print $2}');

// 顯示進程信息。
echo mole:${mole_name} startup finish pid:${pid}.
sleep 0.5
echo ${pid} > ${mole_name}.pid

綜上所述,這段代碼用於重啟spring boot進程。

④ 求教sh腳本編寫動態控制nohup日誌文件。以下是相關需求

logrotate的自己男人的logrotate的

⑤ Shell怎麼做守護腳本

寫兩個腳本,兩個要互相調用並檢查存不存在,如果要做守護的話實際上還要檢查被拉起的程序

第一個腳本654321.sh

[[-z$(ps-ef|grep123456.sh|grep-v)]]&&nohupsh123456.sh&

第二個腳本123456.sh

[[-z$(ps-ef|grep654321.sh|grep-v)]]&&nohupsh654321.sh&

兩個互相檢查進程在不在,不在就拉起來

⑥ shell腳本中用nohup啟動3個進程,輸入回車後會有一或兩個進程被殺掉,是什麼原因

改寫為:

( nohup ./a ) &
( nohup ./b ) &
( nohup ./c ) &
wait

說明:開啟三個子shell在後台執行操作,( )表示開啟子shell,
若不加圓括弧直接這樣寫,則直接在父shell操作,可能造成邏輯錯誤,因為這個不是在命令行執行 的進程,
wait根據實際情況添加,表示等前面三個進程執行結束在進行下一步

⑦ 關於linux系統shell中有nohup命令,放入到crontab無法執行

要具體看下是什麼命令(請復制出來),因為crontab執行時的環境變數PATH可能和界面上的bash不一樣,有可能找不到所需的命令,這時候需要使用絕對路徑,並不是nohup的問題。
另外也要看下crontab的服務是否已經運行,否則是不會有定時任務執行的

⑧ shell腳本中count_log=`ls logs_backup/nohup* | grep $nowdate -c`是什麼意思

count_log=`lslogs_backup/nohup*|grep$nowdate-c`
count_log:
定義shell變數
=:
給shell變數賦值(注意等號兩邊不能有空格,和C語言區別)
``:
反引號``是命令替換,命令替換是指Shell可以先執行``中的命令,
將輸出結果暫時保存,在適當的地方輸出。
ls:
列出文件
logs_backup/nohup*:
logs_backup目錄下所有以nohup開頭的文件
|:
管道符,把前面命令的輸出作為管道符後面命令的輸入
grep:
文本搜索工具
搜索變數$nowdate,前面nowdata變數被賦值為當前時間
-c是grep命令的選項,計數搜索到匹配字元的次數。
整條命令:
給count_log變數賦值,值為logs_backup目錄下文件前綴為bohup*文件內容含有
當前腳本執行時間的字元出現的次數。

⑨ nohup sh./start.sh &與nohup ./start.sh &有什麼區別

nohup sh./start.sh &與nohup ./start.sh &的區別:

nohup,就是用nohup.out代替tty,避免掛起。

sh xxx.sh是用sh 執行start.sh,start.sh可以沒有執行標志,可以不用加./,可以不用在腳本第一行寫上#/bin/sh(當然,bsh可以不寫)。

./start.sh是調用腳本第一行制定的shell去解釋執行,預設為sh,就是bsh &表示後台運行。

熱點內容
javatomcat伺服器搭建伺服器 發布:2025-02-07 10:55:22 瀏覽:622
vcenter存儲器集群 發布:2025-02-07 10:54:31 瀏覽:583
咖啡的腳本 發布:2025-02-07 10:46:18 瀏覽:520
nsftp速度 發布:2025-02-07 10:30:58 瀏覽:430
存儲過程ifor 發布:2025-02-07 10:25:28 瀏覽:433
命令行執行oracle腳本文件命令行 發布:2025-02-07 10:14:49 瀏覽:96
ibook安卓怎麼下 發布:2025-02-07 10:12:13 瀏覽:692
銀行卡沒有密碼怎麼辦啊 發布:2025-02-07 10:08:13 瀏覽:30
游戲庫源碼 發布:2025-02-07 09:49:15 瀏覽:54
享宇錢包上傳不了照片 發布:2025-02-07 09:48:32 瀏覽:632