Linux ubuntu下 如何把自己写的程序开机时自启动

时间:2022-01-24 15:41:17
我在主文件夹里写了hello.c程序,编译得a.out。我想开机时自启动a.out,写了以下命令,出现“权限不够”的问题:
lpp@lpp-virtual-machine:~$ sudo echo "/home/lpp/a.out &" >> /etc/rc.local
bash: /etc/rc.local: 权限不够

请问该如何操作?

14 个解决方案

#1


sudo vi  /etc/rc.local
最好用vi打开rc.local,因为/etc/rc.local最后往往有exit 0。

#2


引用 1 楼  的回复:
sudo vi /etc/rc.local
最好用vi打开rc.local,因为/etc/rc.local最后往往有exit 0。


然后把 /home/lpp/a.out 写到exit 0之前吗?再重启就可以了吗?

#3


是的。

#4


我把# /home/lpp/a.out加到exit 0的前面,重启之后没任何显示,为什么?加的位置不对还是写法错误?

#5


引用 4 楼  的回复:
我把# /home/lpp/a.out加到exit 0的前面,重启之后没任何显示,为什么?加的位置不对还是写法错误?
你的/home/lpp/a.out是什么程序?

#6


加到rc.local里的程序运行在非交互状态 , 
无控制终端,也就是无法使用标准输入和输出 。 否则收到SIGTTIN或者SIGTTOUT,,该信号的默认动作是终止程序。

所以同楼上,a.out是什么程序

#7


引用 5 楼 linwhwylb 的回复:
引用 4 楼 的回复:

我把 /home/lpp/a.out加到exit 0的前面,重启之后没任何显示,为什么?加的位置不对还是写法错误?
你的/home/lpp/a.out是什么程序?


a.out是输出“hello”的可执行文件

#8


楼主是想写守护进程(demon)吗?

#9


你前面不要加#,加这个就注释掉了吧
引用 4 楼  的回复:
我把# /home/lpp/a.out加到exit 0的前面,重启之后没任何显示,为什么?加的位置不对还是写法错误?

#10


或者写到一个shell文件里,用shell去执行调用这个程序。
引用 7 楼  的回复:
引用 5 楼 linwhwylb 的回复:
引用 4 楼 的回复:

我把 /home/lpp/a.out加到exit 0的前面,重启之后没任何显示,为什么?加的位置不对还是写法错误?
你的/home/lpp/a.out是什么程序?


a.out是输出“hello”的可执行文件

#11


引用 10 楼  的回复:
或者写到一个shell文件里,用shell去执行调用这个程序。

引用 7 楼 的回复:
引用 5 楼 linwhwylb 的回复:
引用 4 楼 的回复:

我把 /home/lpp/a.out加到exit 0的前面,重启之后没任何显示,为什么?加的位置不对还是写法错误?
你的/home/lpp/a.out是什么程序?


a.out是输出“hello”的可执行文件

我不太清楚,可否给一个示例?

#12


请问。
我用grub4dos引导win7安装的ubuntu,安装完后,开机界面首先是一个粉红色的界面,第一个选项是直接进入ubuntu系统,但我选了win7的之后,还出现了一个正常选择界面,请问如何去掉之前那个粉红的界面?

#13


引用 12 楼  的回复:
请问。
我用grub4dos引导win7安装的ubuntu,安装完后,开机界面首先是一个粉红色的界面,第一个选项是直接进入ubuntu系统,但我选了win7的之后,还出现了一个正常选择界面,请问如何去掉之前那个粉红的界面?


那个好像是去不掉的,应该是grub决定的。其实,我也不确定,你请教高手吧

#14


exit 0 是什么咩?

#1


sudo vi  /etc/rc.local
最好用vi打开rc.local,因为/etc/rc.local最后往往有exit 0。

#2


引用 1 楼  的回复:
sudo vi /etc/rc.local
最好用vi打开rc.local,因为/etc/rc.local最后往往有exit 0。


然后把 /home/lpp/a.out 写到exit 0之前吗?再重启就可以了吗?

#3


是的。

#4


我把# /home/lpp/a.out加到exit 0的前面,重启之后没任何显示,为什么?加的位置不对还是写法错误?

#5


引用 4 楼  的回复:
我把# /home/lpp/a.out加到exit 0的前面,重启之后没任何显示,为什么?加的位置不对还是写法错误?
你的/home/lpp/a.out是什么程序?

#6


加到rc.local里的程序运行在非交互状态 , 
无控制终端,也就是无法使用标准输入和输出 。 否则收到SIGTTIN或者SIGTTOUT,,该信号的默认动作是终止程序。

所以同楼上,a.out是什么程序

#7


引用 5 楼 linwhwylb 的回复:
引用 4 楼 的回复:

我把 /home/lpp/a.out加到exit 0的前面,重启之后没任何显示,为什么?加的位置不对还是写法错误?
你的/home/lpp/a.out是什么程序?


a.out是输出“hello”的可执行文件

#8


楼主是想写守护进程(demon)吗?

#9


你前面不要加#,加这个就注释掉了吧
引用 4 楼  的回复:
我把# /home/lpp/a.out加到exit 0的前面,重启之后没任何显示,为什么?加的位置不对还是写法错误?

#10


或者写到一个shell文件里,用shell去执行调用这个程序。
引用 7 楼  的回复:
引用 5 楼 linwhwylb 的回复:
引用 4 楼 的回复:

我把 /home/lpp/a.out加到exit 0的前面,重启之后没任何显示,为什么?加的位置不对还是写法错误?
你的/home/lpp/a.out是什么程序?


a.out是输出“hello”的可执行文件

#11


引用 10 楼  的回复:
或者写到一个shell文件里,用shell去执行调用这个程序。

引用 7 楼 的回复:
引用 5 楼 linwhwylb 的回复:
引用 4 楼 的回复:

我把 /home/lpp/a.out加到exit 0的前面,重启之后没任何显示,为什么?加的位置不对还是写法错误?
你的/home/lpp/a.out是什么程序?


a.out是输出“hello”的可执行文件

我不太清楚,可否给一个示例?

#12


请问。
我用grub4dos引导win7安装的ubuntu,安装完后,开机界面首先是一个粉红色的界面,第一个选项是直接进入ubuntu系统,但我选了win7的之后,还出现了一个正常选择界面,请问如何去掉之前那个粉红的界面?

#13


引用 12 楼  的回复:
请问。
我用grub4dos引导win7安装的ubuntu,安装完后,开机界面首先是一个粉红色的界面,第一个选项是直接进入ubuntu系统,但我选了win7的之后,还出现了一个正常选择界面,请问如何去掉之前那个粉红的界面?


那个好像是去不掉的,应该是grub决定的。其实,我也不确定,你请教高手吧

#14


exit 0 是什么咩?