程序重启自己 linux c,c – 从程序重启linux

之前已经问过这个问题:

How to restart Linux from inside a C++ program?

但是,没有一个答案似乎对我有用.

这是我的问题:

我有一个硬件上的程序.我可以以root用户身份登录并运行它而不会出现任何问题.但是,如果我以root priveleges身份登录为其他用户,程序执行正常,但不会重新启动.它只关闭当前的Telnet会话.

要重新启动,我使用了系统(重启).

到目前为止,我尝试过:

sync();

reboot(RB_POWER_OFF);

execl("/sbin/reboot","reboot",NULL,NULL);

无济于事.

(我不确定,如果我正确使用了execl.这是我第一次使用它.如果我搞砸了,请纠正我).

任何帮助,将不胜感激.

编辑:

/data/local/sbin # cat /etc/passwd

root:x:0:0:root:/root:/bin/sh

service:54zljpSAe:0:0:root:/root:/data/local/sbin/script

如果我以服务身份登录,将运行“script”.用户有一个列表选项可供选择.其中一个选项是运行上述程序.

编辑:

另外值得一提的是:脚本中的一个选项是重启系统.如果从脚本内部调用,它可以工作.但我想从程序中调用reboot.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值