自启动脚本
在 Ubuntu 20.04 及更高版本中,默认的 init 系统已经转向使用 systemd,而不再使用 SysV init。因此,SysV init 系统的启动脚本已经不再是 Ubuntu 20.04 中的默认方式来管理系统服务。
在 Ubuntu 20.04 中,可以使用 systemd
来管理系统服务。systemd
是一个现代的 init 系统,它使用 .service
文件来描述系统服务,而不是 SysV init 脚本。
.service
文件包含了服务的配置信息,如服务的名称、描述、依赖关系、启动命令等。你可以使用 systemctl
命令来启动、停止、重启、查看状态以及管理系统服务。
sudo systemctl start service_name #启动一个服务
sudo systemctl stop service_name #停止一个服务
sudo systemctl restart service_name #重启一个服务
sudo systemctl status service_name #查看一个服务的状态
如果你需要在启动时自动运行一些命令或脚本,可以通过 systemd 的服务来实现。你可以创建一个 systemd service 文件,将其放置在 /etc/systemd/system/
目录下,并启用它。
.service文件示例
[Unit]
Description=My Startup Script
[Service]
Type=simple
ExecStart=/path/to/my/script.sh
[Install]
WantedBy=multi-user.target
将上述内容保存为文件 /etc/systemd/system/xxxx.service
,然后使用以下命令启用它
sudo systemctl daemon-reload #更新system/目录下的.service文件变更
sudo systemctl enable xxx.service #启用xxx服务
这将在系统启动时自动运行该服务,该服务会自启动ExecStart指定目录的脚本
.service文件还有更多复杂的语法,具体请自行查阅
Docker
安装方法参考
https://zhuanlan.zhihu.com/p/143156163https://zhuanlan.zhihu.com/p/143156163
Docker类似与一个沙箱,在你的一台机器上隔离出来一个单独的workspace,一般有一个基础镜像,这是docker建立的一个初始化环境,然后可以挂载一个本机的目录到docker,只有这个目录对docker是可见可修改的,其他都是屏蔽的。
sudo docker run --name <docker_name> --rm -it -v <local_directory>:<docker_directory> registry.hh-d.brainpp.cn/megvii-transformer/devastator:orin_0.2 /bin/bash
--name <docker_name>
:指定容器的名称。--rm
:容器停止运行后自动删除。-it
:以交互式模式启动容器。-v <local_directory>:<docker_directory>
:将本地目录<local_directory>
挂载到容器中的目录<docker_directory>
,实现文件共享。注意需要绝对路径registry.hh-d.brainpp.cn/megvii-transformer/devastator:orin_0.2
:使用的镜像名称和版本。/bin/bash
:指定容器的入口点为/bin/bash
,这样可以在容器中打开一个交互式的终端。
查看当前停止或运行的所有容器
sudo docker ps -a
启动或停止容器【仅限于后台】
交互式界面【命令行启动】
sudo docker start 075cd853422b #以容器名启动或容器ID
sudo docker stop 075cd853422b #停止容器
sudo docker rm 075cd853422b #删除容器
sudo sudo docker exec -it my_container /bin/bash #交互式界面