对于1.
这个和具体的发行版有关系,Linux有多套随系统启动加载具体程序机制
最简单的就是rc.local,此外还有init.d,以及现在比较常见的systemd机制
这是因为程序执行有可能有很多参数,需要不同的运行环境等等,此外还可能需要重复加载,而rc.local是真正的一次加载,如果出错了也没有其他管理方案,所以有了其他更复杂管理的措施
rc.local 修改就是把需要执行的程序语句放在exit 0 前面的行中就好
对于2.
开机自动运行其实与这个有较大差异:
首先,自动运行的是已经确定的程序,虽然可能需要一定的运行环境,但这些环境都是程序本身需要的,而不是因为要自动运行附加的(虽然在一些自动运行管理系统中需要加入一些配置,但这个和编译过程本质是不太相同的)
其次,自动运行最后会落脚在某个可执行命令的调用,可能会附加产生一些信息用来管理,比如pid信息等,但这个程序并不是临时生成的,只是调用,这个与编译过程也是有很大区别的。