Linux 知識總結
1. Linux中多進程並行執行
(1)Shell默認以串行的方式自上而下執行命令linux
[root@mail SHELL]# cat para_while.sh shell
#!/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
發現執行時間較快。bash
(2)shell中並行執行:(wait命令和‘&‘後臺符號能夠實現並行,但沒法控制進程數)異步
wait命令:是等待前面的後臺任務所有完成才往下執行,不然程序自己是不會等待的,這樣對後面依賴前面任務結果的命令來講就可能出錯。
「&」:默認狀況下,shell命令是阻塞執行的,能夠經過其後添加’&’讓這條命令異步執行。ide
[root@mail SHELL]# cat para2_while.sh oop
#!/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命令code
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不帶符號.
三、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