init.sh 学习(转

 1 cd /mnt
 2 insmod ss_triger_drv.ko
 3 insmod ss_led_alarm_drv.ko
 4 insmod ss_img_prc_drv.ko
 5 insmod ss_post_isp_drv.ko
 6 insmod ss_pre_isp_drv.ko
 7 insmod imagefb_ss.ko
 8 mount qt_lib.img /opt/Zynq/Qt-4.8.6/
 9 mount opencv_lib.img /opt/opencv_linux/opencv-2.4.10/install/
10 export LD_LIBRARY_PATH=/opt/opencv_linux/opencv-2.4.10/install/lib
11 cp STSONG.TTF /opt/Zynq/Qt-4.8.6/lib/fonts/
12 while (true)
13 do
14 ./Smart2016 -qws
15 done

1. insmod指Linux有许多功能是通过模块的方式,在需要时才载入kernel。如此可使kernel较为精简,进而提高效率,以及保有较大的弹性。这类可载入的模块,通常是设备驱动程序

2. mknod 是创建设备节点命令
 insmod 是加载内核模块的命令
 mount 是挂载命令
 编译后的内核模块xxxxx.ko 使用insmod加载,然后再/dev 下创建设备节点或者叫设备文件(使用的命令就是mknod)。
 mount挂载用的和上面2个没啥联系、
 cat/proc/devices 是查看内核使用的主设备号

3. Q: Linux系统下.ko文件是什么文件?.so文件是什么文件?

  .ko  -- kernel object,内核模块,可以在Linux内核起来之后动态的加载和卸载。 

  .so  -- shared object,用户层的动态库 (于.a 对应),使用同一个.so的程序在运行时只需要该.so的同一份拷贝

    相当于 windows 下的 .dll 文件

4. -qws 参数的意义见下篇

转载于:https://www.cnblogs.com/lt47/p/5888040.html

<think>我收到了用户的查询,是关于在Linux系统中设置脚本开机自启动并使用chkconfig查看服务列表的。查询中指定了一个脚本文件rxq_monitor.sh,所以我需要专注于如何让这个脚本成为系统服务并实现自启动。用户还提到了站内引用,我得回顾一下这些内容。引用[1]谈到了chkconfig命令的用法,显示它可以列出服务状态,这与用户问题中的“使用chkconfig查看服务列表”部分直接相关。这告诉我,在回答中需要详细解释如何使用chkconfig来管理服务。查询中引用的其他引用如[2]和[3],涉及系统管理任务如停止MySQL服务和脚本执行,但不直接解决开机自启动的问题。所以,我应该基于核心需求构建回答,避免不必要的细节。用户的问题很明确:想让脚本rxq_monitor.sh开机自启动。这意味着我必须解释如何将普通脚本化为系统服务。回忆Linux知识,在传统SystemVinit系统中,服务是通过/etc/init.d目录下的脚本来管理的,所以第一步需要将脚本移动到那里并赋予执行权限。为了让系统识别它为服务,我还需要考虑chkconfig的依赖:init脚本需要包含特定的LSB头部注释,比如提供默认运行级别信息。比如,用户可以用chkconfig--addrxq_monitor来添加服务。为了全面性,我会覆盖整个流程:准备脚本、移动到正确位置、设置权限、添加服务头、再用chkconfig命令开启自启动。然后,教用户如何用chkconfig--list验证状态。最后,考虑到用户可能想深入学习,我会生成相关问题,如systemd替代方法或调试技巧。这能帮助扩展用户的知识。现在,构建回答结构:先简要总结步骤,再分步详解。确保步骤可操作,比如用示例命令清晰展示操作过程。语言要专业易懂,避免复杂术语。</think> 以下是基于`chkconfig`在Linux系统中设置脚本开机自启并检查状态的完整步骤: ### 📌 一、设置脚本开机自启(System V init 系统) 1. **移动脚本到服务目录** 将脚本复制到`/etc/init.d/`目录并赋予可执行权限: ```bash sudo cp /path/to/rxq_monitor.sh /etc/init.d/rxq_monitor sudo chmod +x /etc/init.d/rxq_monitor ``` 2. **添加服务管理注释头** 在脚本第二行**插入LSB头部**(支持`chkconfig`的关键): ```bash #!/bin/bash # chkconfig: 2345 90 10 # 添加此行 # description: rxq_monitor service ``` * `2345`: 在运行级别2、3、4、5启用 * `90`: 启动优先级(数字越大启动越晚) * `10`: 停止优先级(数字越大停止越晚) 3. **注册服务并设置自启** ```bash sudo chkconfig --add rxq_monitor # 注册服务 sudo chkconfig rxq_monitor on # 开启自启动 ``` ### 🔍 二、检查服务状态 ```bash chkconfig --list rxq_monitor ``` 输出示例👉: ``` rxq_monitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off ``` 此结果表示在运行级别2~5已启用自启动[^1]。 ### ⚠️ 关键说明 1. **环境要求** 以上方法仅适用于 **System V init** 系统(CentOS 6/RHEL 6及更早版本)。若使用systemd(CentOS 7+),需改用: ```bash sudo systemctl enable rxq_monitor ``` 2. **脚本规范** * 必须实现`start|stop|restart|status`参数响应(示例基础结构): ```bash case "$1" in start) /path/to/real_script.sh & ;; stop) kill $(pgrep -f real_script.sh) ;; *) # 其他参数处理 esac ``` ### 🌐 相关拓展问题 1. 如何在 systemd 系统中实现脚本开机自启? 2. 当 `chkconfig --list` 未显示服务时如何排查? 3. 如何查看服务的实时运行日志? 4. 多运行级别的优先级设置如何影响服务启动顺序? > 💡 **最佳实践**:生产环境中建议使用 **systemd服务单元文件** 管理服务,提供更完善的日志监控和依赖管理功能[^2][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值