Linux知識總結
阿新 • • 發佈:2018-10-29
帳戶 roo 通過 串行 amp 後臺 執行時間 ini number Linux 知識總結
1. Linux中多進程並行執行
(1)Shell默認以串行的方式自上而下執行命令 例子:
1. Linux中多進程並行執行
(1)Shell默認以串行的方式自上而下執行命令
[root@mail SHELL]# cat para_while.sh
#!/bin/bash
# test while loop
date
for num in `seq 1 10`
do {
echo "The number is:$num"
}
done
echo "Finish!"
date
[root@mail SHELL]# sh para_while.sh Mon Oct 29 17:18:03 CST 2018 The number is:1 The number is:2 The number is:3 The number is:4 The number is:5 The number is:6 The number is:7 The number is:8 The number is:9 The number is:10 Finish! Mon Oct 29 17:18:03 CST 2018
發現執行時間較快。
(2)shell中並行執行:(wait命令和‘&‘後臺符號可以實現並行,但無法控制進程數)
wait命令:是等待前面的後臺任務全部完成才往下執行,否則程序本身是不會等待的,這樣對後面依賴前面任務結果的命令來說就可能出錯。
“&”:默認情況下,shell命令是阻塞執行的,可以通過其後添加’&’讓這條命令異步執行。
[root@mail SHELL]# cat para2_while.sh
#!/bin/bash # test while loop date for num in `seq 1 10` do { echo "The number is:$num" } & done wait echo "Finish!" date
[root@mail SHELL]# sh para2_while.sh
Mon Oct 29 17:18:06 CST 2018
The number is:8
The number is:9
The number is:10
The number is:7
The number is:3
The number is:4
The number is:5
The number is:1
The number is:6
The number is:2
Finish!
Mon Oct 29 17:18:06 CST 2018
發現執行時間很快。
2. linux命令
nohup命令:no hang up,不掛斷命令;你希望退出帳戶或者關閉終端之後不關閉相應的進程時使用(希望程序仍然執行時使用)。
nohup command &
nohup command > myout.file 2>&1 & ##輸出日誌到myout.file,並將標準錯誤輸出,重定向到標準輸出,再被重定向到myout.file。
fg命令:用於將後臺作業(在後臺運行的或者在後臺掛起的作業)放到前臺終端運行。
例:使用fg命令將任務號為2的任務從後臺執行轉換到前臺執行,輸入如下命令:
fg 2
bg命令:用於將作業放到後臺運行,使前臺可以執行其他任務。該命令的運行效果與在指令後面添加”&”符號的效果是相同的,都是將其放到系統後臺執行。
例:使用bg命令將任務號為1的任務放到後臺繼續執行,輸入如下命令:
bg 1
jobs命令:用於顯示Linux中的任務列表及任務狀態,包括後臺運行的任務。該命令可以顯示任務號及其對應的進程號。帶+表示最新的jobs;帶-表示次新的jobs;其他jobs不帶符號.
3、Linux中權限設置
修改某個目錄下所有文件的權限,包括子目錄中的文件權限;使用參數-R表示啟動遞歸處理。
[root@local ~]# chmod 777 /home #把/home目錄的權限設置為rwxrwxrwx,可讀可寫可執行
[root@local ~]# chmod -R 777 /home #將整個/home目錄與其中的文件和子目錄的權限都設置為rwxrwxrwx,可讀可寫可執行
4. (1)查看全部進程數ps -ef | wc –l
(2)查看Tomcat的進程數ps -ef | grep Tomcat | wc –l
Linux知識總結