linux自动启动程序用ctrl+c无法终止

2 02 3 年,我的朋友在调试程序时,Ctrl+C不起作用。
他表示,他已安装过多次,但没有得到任何回应。
我解释过,Ctrl+C不是万能的,要看程序是如何启动的。

上周我帮他检查了rc.local文件,发现start-stop-daemon启动的程序无法通过Ctrl+C终止。
该程序监控正在运行的程序,如果程序崩溃,会自动重新启动。

他问我怎么办,我让他检查一下启动脚本。
他说,嵌入式系统可能使用不同的软件并具有不同的功能。
我让他尝试修复启动方式或者看看是否有其他快捷命令可以使用。
算了,你都知道的。

如何在linux下编译/运行C/C++程序

编译第一个.C 文件。
生成第一个可执行文件。
ls -l 显示第一个文件。
./首先运行程序。

如何在linux嵌入式开发板上开机自动运行用户应用程序

嗯,我以前做过这个。
开发板开机自动运行自己的程序。
这实际上可以通过更改 rc.local 来完成。

rc.local 位于根文件系统的 /usr/etc/ 下。
有些开发板一上电就要求图形界面,所以不能直接进入shell。
此时你可以在rc.local中做一些事情。

注释掉启动图形界面的行,然后添加一行以允许您运行自己的程序。
就是这么简单。

举个例子吧。
我以前做过一个实验。
首先,在 PC 上的 Linux 系统上使用 mkdirlz 命令在 /nfs/usr/ 下创建一个新的 lz 文件夹。
转到 lz,然后 mkdirhello 创建一个新的 hello 文件夹。
好的,把你的程序文件和编译好的内容放在这里。

然后使用 vihello.c 命令创建一个新的 hello.c 文件。
编辑并编写简单的测试代码。

c 包含 int main(){ printf("你好,testarm-linux!\n"); 返回 0。
}
完成后,使用wq保存并退出。
接下来,使用交叉编译环境编译这个hello.c。
命令是arm-linux-gcc –o hello hello.c。

编译完成后,使用ls命令检查。
/nfs/usr/lz/hello/ 下有一个额外的 hello 可执行文件。
拿到你的开发板,运行./hello看看效果。

那么关键的一步就是修改rc.local。
添加并注释掉启动图形界面的行。
在末尾添加 ./hello 行。
具体详情请查看提供的内容。

bash 导出 PATH=$QPEDIR/bin:$PATH Qtopia /usr/qtopia/bin/qtopia /usr/lz/hello/./hello
前三行注释是启动图形界面的内容。
最后一行是您自己的 hello 程序。

开发板将重启。
vivi参数允许开发板通过nfs挂载主机的文件系统。
然后看一下超级终端。
开发板一出现,你写的hello程序就会运行。

这样做非常方便。
但是,rc.local 路径可能会根据您的开发板而有所不同。
arm-linux-gcc命令取决于交叉编译工具链是否正确匹配。
当时我不明白为什么要加./,后来尝试了一下,果然成功了。