使用自定义应用程序编译 Unix

使用自定义应用程序编译 Unix

我想知道,是否可以将 Unix 与我的自定义程序一起编译,以便它在计算机启动时仅运行我的自定义程序,就像我的程序随着启动而启动一样?

答案1

如果您的意思是只希望用户能够运行一个程序,则可以将用户的 shell 替换为 passwd 文件中程序的绝对路径 - 假设是本地 passwd 文件。

答案2

正如你所说,直接不行。 Unix 内核与用户层程序是分开的,并且是单独构建的。

但你想做的事情是可能的。该init程序传统上是在 Unix 上运行的第一个进程,是一个(有些特殊的)普通用户进程。因此,当然可以进行一些设置,使您的程序成为系统上唯一运行的程序。但考虑到init传统上还有很多其他职责(检查配置并设置要运行的用户空间,如果需要检查文件系统,...),所以我建议不要这样做。现代 Unix 系统所需的(和其他)机器init是轻量级的,并且设置“正常”系统要容易得多,只需在处理启动的琐事后正常启动应用程序即可。

相关内容