凝思操作系统设置开机启动进程设置方法

本文介绍了如何为普通用户添加sudo权限,以便他们可以无需密码执行sudo命令,并详细展示了如何在开机时设置脚本以自动赋予用户打开/dev/ttyS4串口的权限。包括修改sudoers文件和编写启动脚本的步骤。

 

添加开机启动脚本。

#!/bin/sh
#Set Env
export RUNDIR=/mytest
export PATH=$PATH:$RUNDIR
export LD_LIBRARY_PATH=$RUNDIR/mylib



#Modify yingjian
echo "abc"|sudo -S chmod 777 /dev/ttyS4


#Exec
cd /mytest
./mainProc &


 

 此行代码,需要将普通用户提高打开串口的权限,无需手动输入密码。当然,还需要给普通用户配置为sudoer用户。

echo "abc"|sudo -S chmod 777 /dev/ttyS4

 添加普通用户为sudoers,

在/etc/sudoers文件中,添加  如下:参考

 

 

 

<think> 嗯,用户需要了解如何在凝思系统中设置.sh脚本开机启动方法。我会参考给定的引用信息来整理最佳方案。 用户提供的四个引用中,引用[2]和引用[3]都直接涉及凝思系统的开机启动设置。引用[2]是凝思操作系统的官方方法,引用[3]是Linux通用的rc.local方法,但明确提到适用于凝思系统。 引用[2]展示了完整的开机启动脚本模板: 包含环境变量设置 硬件权限修改(如ttyS4设备权限) 最后用&符号后台执行程序 这个模板特别专业,展示了凝思系统特有的abc权限设置方式。 引用[3]提供了rc.local方案: 强调必须给脚本添加执行权限(chmod +x) 需要创建或修改/etc/rc.local文件 必须确保该文件本身有执行权限 这种方法更通用但可靠性稍低。 引用[1]和引用[4]不太适用:引用[1]的chkconfig命令在凝思可能不兼容,引用[4]的nginx示例包含特定服务配置。 我会推荐两个主流方案: 首选rc.local方案,因为凝思系统兼容性最好且操作简单 备选systemd方案,虽然引用中未直接提及,但现代Linux系统都应支持 需要特别提醒用户注意事项: 1. 脚本权限问题(用户最容易忽略的点) 2. &符号的必要性(防止阻塞启动流程) 3. 日志记录建议 最后考虑补充两个实用技巧: 如何调试启动失败问题 如何查看系统启动日志的位置 这些能帮助用户自主排查问题。 </think> 在凝思系统中设置 `.sh` 脚本开机启动,主要有以下两种推荐方法(基于引用内容整合): --- ### 📌 方法一:通过 `/etc/rc.local` 配置(推荐) **步骤:** 1. **赋予脚本执行权限** ```bash sudo chmod +x /path/to/your_script.sh # 引用[3] ``` 2. **编辑 `/etc/rc.local` 文件** ```bash sudo vim /etc/rc.local ``` 3. **在文件中添加脚本的绝对路径**(在 `exit 0` 之前) ```bash #!/bin/sh /path/to/your_script.sh & # 末尾的 `&` 表示后台运行(引用[2]) exit 0 ``` 4. **给 rc.local 添加执行权限**(若文件不存在则创建) ```bash sudo touch /etc/rc.local # 引用[3] sudo chmod +x /etc/rc.local # 引用[3] ``` > ✅ **优势**:兼容性强,操作简单,适合凝思系统(引用[2][3])。 > ️ **注意**:脚本中需用完整路径,如 `export PATH=$PATH:/your/bin`(引用[2])。 --- ### 📌 方法二:创建 Systemd 服务(高级) **步骤:** 1. **创建服务文件** ```bash sudo vim /etc/systemd/system/your_service.service ``` 2. **写入以下内容**(参考引用[4]的格式): ```ini [Unit] Description=Your Custom Service After=network.target [Service] Type=forking ExecStart=/path/to/your_script.sh # 脚本绝对路径 Environment="PATH=/your/custom/path:$PATH" # 引用[2][4]的环境变量设置 [Install] WantedBy=multi-user.target ``` 3. **启用服务** ```bash sudo systemctl daemon-reload sudo systemctl enable your_service # 设置开机自启 sudo systemctl start your_service # 立即启动测试 ``` > ✅ **优势**:支持依赖管理、日志监控,适合生产环境(引用[1][4])。 --- ### 🛠️ 关键注意事项 1. **脚本头部声明**:确保脚本第一行为 `#!/bin/sh`(引用[2][3])。 2. **环境变量**:在脚本或服务文件中显式设置 `PATH` 和 `LD_LIBRARY_PATH`(引用[2][4])。 3. **权限问题**:若脚本需操作硬件(如 `/dev/ttyS4`),需在脚本中添加 `sudo chmod` 命令(引用[2])。 4. **后台运行**:在 `rc.local` 中启动时,脚本命令末尾加 `&` 防止阻塞(引用[2])。 --- ### ❓ 相关问题 1. 如何调试凝思系统中开机启动失败的脚本? 2. Systemd 服务与 `rc.local` 在凝思系统中的优缺点对比? 3. 如何在开机脚本中安全地处理需要 `sudo` 权限的操作? 4. 凝思系统下如何查看开机启动服务的实时日志? > 引用来源: > [^1]: `chkconfig` 命令管理服务(需验证凝思兼容性) > [^2]: 凝思官方开机脚本模板(环境变量+权限设置) > [^3]: `rc.local` 配置通用方法 > [^4]: Systemd 服务文件编写规范
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值