1. 程式人生 > >linux下同時執行多個python指令碼

linux下同時執行多個python指令碼

#!/bin/bash

python mysql.py > /dev/null 2>&1 &
python mysql1.py > /dev/null 2>&1 &
python mysql2.py > /dev/null 2>&1 &
python mysql3.py > /dev/null 2>&1 &

分解這個組合:“>/dev/null 2>&1” 為五部分。

1:> 代表重定向到哪裡,例如:echo “123” > /home/123.txt
2:/dev/null 代表空裝置檔案
3:2> 表示stderr標準錯誤
4:& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1
5:1 表示stdout標準輸出,系統預設值是1,所以">/dev/null"等同於 “1>/dev/null”

因此,>/dev/null 2>&1
也可以寫成“1> /dev/null 2> &1”

那麼本文標題的語句執行過程為:
1>/dev/null :首先表示標準輸出重定向到空裝置檔案,也就是不輸出任何資訊到終端,說白了就是不顯示任何資訊。
2>&1 :接著,標準錯誤輸出重定向 到 標準輸出,因為之前標準輸出已經重定向到了空裝置檔案,所以標準錯誤輸出也重定向到空裝置檔案。

執行shell指令碼:

sh run.sh

檢視程序python:

ps -ef  | grep python

停止指令碼的執行:

kill -9  程序號