Ubuntu开机自启动设置/docker开机自启

一、创建执行脚本

        这里有两个程序所以编写了两个脚本,第一脚本(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创建的wood2环境,到指定目录执行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环境执行vision_detector.py程序,并把日志信息保存到指定文件woodLog.txt中。

二、赋脚本执行权

        

sudo chmod 777 master.sh
sudo chmod 777 wood.sh

三、启动执行脚本设置

1、终端直接运行 gnome-session-properties 命令,打开启动应用程序首选项,如下;

 2、点击添加按钮,设置启动名称,点击浏览添加启动脚本文件即可;可以重启电脑查看效果了。

四、docker开机自启

        docker开机自启是部署在docker中的程序随docker启动而启动。

        sh脚本内容:

#!/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开机自启需要在拉docker时设置相关参数,比如,使用命令如下:

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

参数详解:

        --gpus=all:映射所有GPU;

        -v $PWD:/paddle :将当前执行命令的路径映射到docker的/paddle路径;

        --network=host:表示将主机的网络环境映射到容器中,容器的网络与主机相同;

        --privileged=true:使用该参数,container内的root拥有真正的root权限;不使用该参数,container内的root只是外部的一个普通用户权限;

        --entrypoint "/paddle/self_start_upon_startup/fs06.sh":该参数是docker开机自启关键参数。表示docker启动后需要执行后面指定路径.sh文件。在.sh文件编写好需要自启的相关代码(如上述所示);

        -it:i 表示以“交互模式”运行容器;t 表示容器启动后会进入其命令行;加入这两个参数后,容器创建就能登录进去。即分配一个伪终端;

        /bin/bash:表示载入容器后运行bash ,docker中必须要保持一个进程的运行,要不然整个容器启动后就会马上kill itself,这个/bin/bash就表示启动容器后启动bash。

        配置完上述参数后在终端每次执行docker start weiz_test即可自行执行自己编写的sh文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值