① linux 如何開機自動運行sh腳本
要開機 運行只需將它加入到 rc.local ,一般為/etc/rc.d/rc.local 在其中加入以下行:sh /path/to/test.sh使用linux全局變數$?可以確定是否執行,如if [$? eq 0] the,echo "succeed!fi。
② LINUX下自己定義一個命令,執行此命令則自動調用某個sh文件執行,怎麼實現
可以使用別名,1. 首先將bbb.sh加入執行許可權,chmod a+x /home/test/bbb.sh
2. 然後更改文件 vim ~/.bashrc 添加一行 alias aaaa='/home/test/bbb.sh'
3. source ~/.bashrc
然後執行 aaaa就可以了
③ Linux下面如何運行 SH文件
Linux下面運行 SH文件步驟如下:
1、查看目.sh文件。
④ linux設置開機自啟動
linux設置開機自啟動執行命令 :
執行命令 : 編輯"/etc/rc.local",添加你想開機運行的命令
運行程序腳本 :然後在文件最後一行添加要執行程序的全路徑。
例如,每次開機時要執行一個hello.sh,這個腳本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt && ./hello.sh "
注意,你的命令應該添加在:exit 0 之前
linux在「/etc/rc.d/init.d」下有很多的文件,每個文件都是可以看到內容的,其實都是一些shell腳本或者可執行二進制文件 Linux開機的時候,會載入運行/etc/init.d目錄下的程序,因此我們可以把想要自動運行的腳本放到這個目錄下即可。系統服務的啟動就是通過這種方式實現的。
簡單的說,運行級就是操作系統當前正在運行的功能級別。
例:在Ubuntu/den里,可以使用update-rc.d命令來把示例腳本:/etc/init.d/proxy安裝到各個runlevel中。
update-rc.d後面有三個參數,分別是/etc/init.d下的腳本名字,默認安裝方式,運行的優先順序。優先順序的數字越大,表示越遲運行,這里我們把自己寫的服務放在最後運行。
如果要卸載隨機啟動的服務,執行
在update-rc.d安裝的時候提示了警告信息,是因為我們寫的/etc/init.d/proxy太簡陋了,只包含了我們想要的命令,連LSB的信息也沒有提供。
只需要對自啟動腳本做一些小改動,就可以避免那個警告了。如下:
到此,一個最簡單的隨機啟動服務寫好了,看起來文章挺長的,但其實也就幾個命令而已。 在下次開機啟動的時候,proxy.py就會以root用戶身份被自動運行。
在/etc/init.d下新建示例腳本文件(startTest.sh),該腳本會啟動/opt/test.sh。內容如下:
寫了腳本文件之後事情還沒有完,繼續完成以下幾個步驟:
⑤ Linux Shell自動拉起進程
新建文件夾/root/test/,test文件夾中有myCPP.cpp,myTEXT.txt,restart.sh
該文件的功能是每隔5s往myTEXT.txt中寫入當前時間
編譯得到可執行文件mycpp: g++ myCPP.cpp -std=c++11 -o mycpp
注意有時候因為許可權問題會導致shell拉起失敗,這里粗暴地開放所有許可權 chmod 777 mycpp
shell腳本,檢測目標程序是否處於運行狀態,如果不運行則將其拉起。
加上crontab就可以讓腳本定時執行,一旦發現進程沒有運行,則啟動該進程,這樣就實現了進程的自動拉起。
通過 crontab -e 進入類似vim的操作界面,在文件末尾補充 */1 * * * * /root/test/restart.sh /root/test/mycpp& ,讓restart.sh腳本每一分鍾運行一次(即每分鍾檢測一次mycpp是否正在執行)
查看mycpp進程是否在執行 ps -ef | grep mycpp
查看mycpp執行寫入的結果 tail -f myTEXT.txt
⑥ linux開機自動執行命令和腳本 自動啟動 自啟 進程一直運行
原文及更新: https://neucrack.com/p/91
直接在/etc/rc.local(/etc/rc.d/rc.local)文件中添加即可
上面這腳本實際上在使用時出現了問題, /home/neucrack/software/ss/start_ss_local.sh 這個命令始終沒有被執行,原因是 /home/neucrack/software/ss/start_kcptun_client.sh 中的命令阻塞了進程,導致後面一句始終沒有執行,可以將他們分別放到後台執行就行了,如何在後台執行可以看文章最後一部分
也可以自己手動在rc*.d中建立軟連接
桌面系統搜索 啟動 ,打開啟動管理器 添加刪除即可
一般有以下幾種方法:
1)在輸入命令的最前面加上 nohup 命令
如 nohup your_command & 這樣命令在你退出後仍然會在後台執行
2) setsid 命令
setsid your_command 該命令的結果是使你所運行的命令的父進程為init,所以只有關機該進程才會停止
3) (your_command &)
就是用括弧將你的命令括起來,這樣做也是使命令的父進程為init
4) disown
當你在命令行下輸入 your_command & 後命令就在後台執行了,然後執行jobs命令,該命令會列出當前正在後台執行的命令。例如輸入命令「top&」
然後執行"jobs"
輸出結果是
[1] + Suspended (tty output) top
注意行開頭方括弧內的數字,該數字叫做jobspec,是給當前後台運行的job的編號。這是你只要在命令行下輸入"disown -h 1" 後台運行的top命令就不會受到hangup信號的影響了。
5)使用 screen 命令
在命令行下輸入screen命令就開啟了一個screen進程,它就好像是一個全新的命令運行環境,在該環境中你可以像在正常的terminal下那樣執行
命令,但是這個screen是不受其父進程的hangup信號的影響的,既然screen不受其父進程影響,當你意外掉線或者退出系統時,在screen
中仍在執行的命令仍然會繼續執行。關於screen命令的使用方法你可以再去查閱相關資料。
⑦ Linux shell腳本如何自動運行程序並輸入命令
我建議你使用shell的spawn命令,很好用的,能實現你說的功能!
⑧ 如何在 Linux 啟動時自動執行命令或腳本
Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。有用戶想要在Linux啟動時候自動執行命令腳本,應該怎麼設置呢?這篇文章主要介紹了詳解如何在 Linux 啟動時自動執行命令或腳本,主要有兩種方式,具有一定的參考價值,感興趣的小夥伴們可以參考一下。
方法步驟
在啟動時執行 Linux 腳本
有兩種傳統的方法可以實現在啟動時執行命令或腳本:
方法 #1 - 使用 cron 任務
除了常用格式(分 / 時 / 日 / 月 / 周)外,cron 調度器還支持 @reboot 指令。這個指令後面的參數是腳本(啟動時要執行的那個腳本)的絕對路徑。
然而,這種方法需要注意兩點:
a) cron 守護進程必須處於運行狀態(通常情況下都會運行),同時
b) 腳本或 crontab 文件必須包含需要的環境變數(如果有的話,參考 StackOverflow 獲取更多詳細內容)。
方法 #2 - 使用 /etc/rc.d/rc.local
這個方法對於 systemd-based 發行版 Linux 同樣有效。不過,使用這個方法,需要授予 /etc/rc.d/rc.local 文件執行許可權:
# chmod +x /etc/rc.d/rc.local
然後在這個文件底部添加腳本。
下圖說明如何分別使用 cron 任務和 rc.local 運行兩個示例腳本(/home/gacanepa/script1.sh 和 /home/gacanepa/script2.sh)。
script1.sh:
#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt
script2.sh:
#!/bin/bash
SITE="Tecmint.com"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
*啟動時執行 Linux 腳本 *
記住,一定要提前給兩個示例腳本授予執行許可權:
$ chmod +x /home/gacanepa/script1.sh
$ chmod +x /home/gacanepa/script2.sh
在登錄或注銷時執行 Linux 腳本
要在登錄或注銷時執行腳本,分別需要使用 ~.bash_profile 和 ~.bash_logout 文件。多數情況下,後者需要手動創建。在每個文件的底部,添加調用腳本代碼,如前面例中所示,就可以實現這個功能。
補充:Linux基本命令
1.ls命令:
格式::ls [選項] [目錄或文件]
功能:對於目錄,列出該目錄下的所有子目錄與文件;對於文件,列出文件名以及其他信息。
常用選項:
-a :列出目錄下的所有文件,包括以 . 開頭的隱含文件。
-d :將目錄像文件一樣顯示,而不是顯示其他文件。
-i :輸出文件的i節點的索引信息。
-k :以k位元組的形式表示文件的大小。
-l :列出文件的詳細信息。
-n :用數字的UID,GID代替名稱。
-F : 在每個文件名後面附上一個字元以說明該文件的類型,“*”表示可執行的普通文 件;“/”表示目錄;“@”表示符號鏈接;“l”表示FIFOS;“=”表示套接字。
2.cd命令
格式:cd [目錄名稱]
常用選項:
cd .. 返回上一級目錄。
cd ../.. 將當前目錄向上移動兩級。
cd - 返回最近訪問目錄。
3.pwd命令
格式: pwd
功能:顯示出當前工作目錄的絕對路徑。
相關閱讀:Linux主要特性
完全兼容POSIX1.0標准
這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。
多用戶、多任務
Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。
良好的界面
Linux同時具有字元界面和圖形界面。在字元界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統,用戶可以使用滑鼠對其進行操作。在X-Window環境中就和在Windows中相似,可以說是一個Linux版的Windows。
支持多種平台
⑨ linux開機後自動運行opt下的sh腳本
編輯 /etc/rc.d/rc.local,將你要執行的腳本添加進去,系統啟動的時候會自動執行
⑩ Linux 設置開機自動運行腳本
創建腳本,文件後綴 .sh
創建 systemd 啟動服,文件後綴 .service
從服務的內容可以看出來,最終還是會調用 /home/luckyboy/auto_run_script.sh 這個腳本。