当前位置:  技术问答>linux和unix

LINUX如何编程实现机器重新启动啊!

    来源: 互联网  发布时间:2015-09-14

    本文导语:  我在程序中用system(“reboot”)系统调用函数, 可是机器没有任何反应,在终端通过敲键盘命令 reboot却可以重启,这是怎么回事呢? 听说程序必须是SGID才行,我chmod + s myappname, 加上S属性,可是还不行.   搞过...

我在程序中用system(“reboot”)系统调用函数,
可是机器没有任何反应,在终端通过敲键盘命令
reboot却可以重启,这是怎么回事呢?
听说程序必须是SGID才行,我chmod + s myappname,
加上S属性,可是还不行.
  搞过的进来说说啊!我用的是嵌入式arm-linux

|
调用reboot()函数,具体要做什么,详细的看帮助吧

|
extern int bb_shutdown_system(unsigned long magic)
{
int pri = LOG_KERN|LOG_NOTICE|LOG_FACMASK;
const char *message;

/* Don't kill ourself */
signal(SIGTERM,SIG_IGN);
signal(SIGHUP,SIG_IGN);
setpgrp();

/* Allow Ctrl-Alt-Del to reboot system. */
#ifndef RB_ENABLE_CAD
#define RB_ENABLE_CAD 0x89abcdef
#endif
reboot(RB_ENABLE_CAD);

openlog(bb_applet_name, 0, pri);

message = "nThe system is going down NOW !!";
syslog(pri, "%s", message);
printf(bb_shutdown_format, message);

sync();

/* Send signals to every process _except_ pid 1 */
message = "Sending SIGTERM to all processes.";
syslog(pri, "%s", message);
printf(bb_shutdown_format, message);

kill(-1, SIGTERM);
sleep(1);
sync();

message = "Sending SIGKILL to all processes.";
syslog(pri, "%s", message);
printf(bb_shutdown_format, message);

kill(-1, SIGKILL);
sleep(1);

sync();

reboot(magic);
return 0; /* Shrug */
}

|
我在FreeBSD上用shell写一个:

#!/bin/sh
echo "System reboot"
reboot

假设把上面内容保存为“qq.sh”,chmod +x qq.sh
然后用root权限执行:./qq.sh   系统成功重启!


|
reboot 如果没用就用 shutdown -r now 吧.

|
你这样调用就没有问题了
system("/sbin/reboot");

|
ARM-linux与radHat一样,原因可能是向楼上说的那样,你没指定咱径,所以才出现的这个问题

|
来晚了,就是路径的问题,我也遇到过。

|
#include 

kill(1, SIGINT);

    
 
 

您可能感兴趣的文章:

  • 域内共享的问题?Linux机器可以访问Window机器,但是Window机器不能访问Linux机器?
  • 如何从一台LINUX机器访问另一台LINUX机器的共享文件夹??
  • 网络中其他98的机器怎么telnet到linux机器上,linux中有没有什么需要设置的
  • 用secure CRT等工具登录到linux机器后,能否在字符模式下把linux下的文件直接放到本地机器上?
  • 【急】linux 我从我的linux机器用ssh登录到其他机器时,报的这个错是什么原因!
  • 局域网共享问题:win2000的机器看不到linux机器的共享目录?
  • linux下有没有可能将一个机器的软件环境拷贝到其他机器?
  • 如何在一台linux机器上访问另一台windows机器下的目录
  • windows机器和linux机器互联
  • 我装了linux后,如果知道我机器里装了些什么软件,如php,mysql之类?我在安装过程中看到linux的确把这些安装到了我机器里,但我如何看,
  • 如何将linux的一台机器加入windows 2000的域?并且通过一windows的机器上网?
  • 电脑安装window可以ping通其他的机器,但是安装linux不能ping通其他机器怎么回事!
  • 我机器上装了两个系统,win2000,Linux,现在我机器启动后进入grub命令行,请问我有没有办法恢复Linux或Win2000启动
  • Linux下局域网内如何根据对方机器的IP地址获得对方机器网卡的MAC地址?
  • Linux和windows互访是指哪一种情况?一台机器的双系统 还是 一个网中的两台机器(一台linux, 另一台whidow)
  • 局域网共享问题:win2000的机器看不到linux机器的共享目录?解决立即给分
  • windows机器 cmd命令下能否使用什么命令通过ssh连接到远程linux机器
  • 如何在LINUX机器上向一台WIN2000的机器COPY文件
  • 192.168.1.中的某一台机器,想配成mail服务器(linux、qmail),dns在其他机器上
  • Linux机器怎样和XP的机器用网线对连?
  • Linux c socket编程:简单的客户端(client)和服务端(server)实现
  • 都说《UNIX环境高级编程》好,对于学linux编程好不好?《Linux下的c编程》《嵌入式系统C编程》那个更适合初学者?各是那个出版社的?(
  • Linux下c/c++ boost安装及并发编程库mpi介绍
  • 我想学Linux编程,请大家推荐几本学习Linux下C/C++编程的书
  • 学Linux编程前要学Unix吗?哪里有学Linux编程的好书下载?
  • 我想学习linux桌面编程,那么有没有必要学习linux的内核以及内核的相关编程呢?
  • unix编程与linux编程有什么区别?
  • linux下编程跟平时的编程有什么区别吗?
  • Linux下的编程指的就是Shell编程吗?
  • 帮我介绍基本linux下编程的书,《Linux上的C编程》这本书怎么样?还有别的书吗?
  • 帮我介绍基本linux下编程的书,《Linux上的C编程》这本书怎么样?还有别的书吗? iis7站长之家
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Mysql服务器登陆,启动,停止等基本操作命令介绍(Linux/Centos环境)
  • 我的LINUX为什么不能选择启动,只能用启动盘启动
  • 98/2000/redhat7.2 装好后98/2000 ghost linux没做启动盘,怎么启动linux?
  • 做redhat linux7.3启动软盘:我的LINUX系统是在hda7上的,但我在这做的启动软盘是要用来启动接在hdc1上的另一个LINUX系统的,请问该怎么办啊
  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • 在win2K上,再装linux,原先的Fat32格式的启动区,是不是不可以启动linux,?
  • 在装了xp后再装linux,现在grub默认启动是linux,如何修改,让默认启动为xp?
  • 再线送分:我的硬盘装了REDHAT LINUX,但不启动,软盘启动盘也没了,请问怎样能再次启动?
  • 在我启动linux设成Gnome图片模式启动,如果想启动字符模式,应怎样把级别5改为3吗,教我改法
  • 同机装有Windows和Linux两套系统(先装Win后装Linux),如何使计算机使用Windows的启动模块而不是Linux的启动模块?
  • linux 服务器启动时,机子启动就启动下面的这行命令
  • Linux的安装之后,双重启动一次之后,第二次启动就进入GRUB的命令提示符,如何回到图形化的DOS与LINUX的启动菜单界面?
  • 如何同时在启动菜单中启动LINUX和UNIX
  • 如何修改启动菜单的启动顺序(linux,windows),我想让系统默认启动到windows.谢谢!!
  • 怎么启动的时候没有提示从linux启动?
  • 我先装了XP,又装了Linux,现在Linux只能用启动盘启动,有没有其他方法啊?
  • LINUX REDHAT 启动硬盘不能启动,要怎样做!
  • 我下载了个linux.iso,我想在计算机启动时启动它,
  • 能在笔记本上安装XP和Linux双启动吗?删除Linux时如何保证XP仍能正常启动?
  • win2kserver和redhat7.2共存,win2kserver升级到winxp后,发现linux的启动菜单不见了?怎样才能恢复linux 的启动?
  • 现在我的红旗linux操作系统启动不了!我手头上有一张redhat- linux的启动盘,大家告诉我有什么办法可以恢复多系统引导?
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3