一、創(chuàng)建執(zhí)行腳本
??????? 這里有兩個程序所以編寫了兩個腳本,第一腳本(master.sh):
gnome-terminal -- bash -c "source /home/zyy/anaconda3/bin/activate wood2;cd /home/zyy/pycharmProject/master_program;python main.py > /home/zyy/pycharmProject/woodStart/masterLog.txt 2>&1 ;exec bash" &
??????? 開啟一個新的終端,使用conda創(chuàng)建的wood2環(huán)境,到指定目錄執(zhí)行main.py程序,并把日志信息保存到指定文件masterLog.txt中。
??????? 第二個腳本(wood.sh):
gnome-terminal -- bash -c "cd /home/zyy/pycharmProject/wood_master;/usr/bin/python3.6 vision_detector.py > /home/zyy/pycharmProject/woodStart/woodLog.txt 2>&1 ;exec bash" &
??????? 開啟一個新的終端,到指定目錄使用Ubuntu自帶的python3.6環(huán)境執(zhí)行vision_detector.py程序,并把日志信息保存到指定文件woodLog.txt中。
二、賦腳本執(zhí)行權(quán)
????????
sudo chmod 777 master.sh
sudo chmod 777 wood.sh
三、啟動執(zhí)行腳本設(shè)置
1、終端直接運(yùn)行?gnome-session-properties 命令,打開啟動應(yīng)用程序首選項(xiàng),如下;
?2、點(diǎn)擊添加按鈕,設(shè)置啟動名稱,點(diǎn)擊瀏覽添加啟動腳本文件即可;可以重啟電腦查看效果了。
四、docker開機(jī)自啟
??????? docker開機(jī)自啟是部署在docker中的程序隨docker啟動而啟動。
????????sh腳本內(nèi)容:
#!/bin/bash
source /etc/bash.bashrc
source /etc/profile
source ~/.profile
cd /paddle/JMC_AI_VISION_1026
dirdate=`date +%Y%m%d`_`date +%H%M%S`
logPath="/paddle/saveData/spare_tire/log/spareTireLog_$dirdate.txt"
./bin/spare_tire_running 2>&1 | tee $logPath
#./bin/spare_tire_running > $logPath 2>&1
#/bin/bash
??????? docker開機(jī)自啟需要在拉docker時設(shè)置相關(guān)參數(shù),比如,使用命令如下:
docker run --name weiz_test --gpus=all -v $PWD:/paddle -v /media/a_disk/saveData:/paddle/saveData -v /media/a_disk/modelsAndParameter:/paddle/modelsAndParameter --network=host --privileged=true --entrypoint "/paddle/self_start_upon_startup/fs06.sh" -it 6c4218054afe /bin/bash
參數(shù)詳解:
????????--gpus=all:映射所有GPU;
??????? -v $PWD:/paddle :將當(dāng)前執(zhí)行命令的路徑映射到docker的/paddle路徑;
??????? --network=host:表示將主機(jī)的網(wǎng)絡(luò)環(huán)境映射到容器中,容器的網(wǎng)絡(luò)與主機(jī)相同;
??????? --privileged=true:使用該參數(shù),container內(nèi)的root擁有真正的root權(quán)限;不使用該參數(shù),container內(nèi)的root只是外部的一個普通用戶權(quán)限;
????????--entrypoint "/paddle/self_start_upon_startup/fs06.sh":該參數(shù)是docker開機(jī)自啟關(guān)鍵參數(shù)。表示docker啟動后需要執(zhí)行后面指定路徑.sh文件。在.sh文件編寫好需要自啟的相關(guān)代碼(如上述所示);
??????? -it:i 表示以“交互模式”運(yùn)行容器;t 表示容器啟動后會進(jìn)入其命令行;加入這兩個參數(shù)后,容器創(chuàng)建就能登錄進(jìn)去。即分配一個偽終端;
??????? /bin/bash:表示載入容器后運(yùn)行bash ,docker中必須要保持一個進(jìn)程的運(yùn)行,要不然整個容器啟動后就會馬上kill itself,這個/bin/bash就表示啟動容器后啟動bash。文章來源:http://www.zghlxwxcb.cn/news/detail-740390.html
??????? 配置完上述參數(shù)后在終端每次執(zhí)行docker start weiz_test即可自行執(zhí)行自己編寫的sh文件。文章來源地址http://www.zghlxwxcb.cn/news/detail-740390.html
到了這里,關(guān)于Ubuntu開機(jī)自啟動設(shè)置/docker開機(jī)自啟的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!