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

两个小问题

    来源: 互联网  发布时间:2016-09-15

    本文导语:  1、书上说,当蓄电池电池不够的时候会发送SIGPWN信号给进程,然后接收到这个信号的进程把该信号发给init进程,我想问的话,这个是怎么发送的,如果靠kill函数发送的话不是必须是init进程的所有者和root用户才可以...

1、书上说,当蓄电池电池不够的时候会发送SIGPWN信号给进程,然后接收到这个信号的进程把该信号发给init进程,我想问的话,这个是怎么发送的,如果靠kill函数发送的话不是必须是init进程的所有者和root用户才可以吗?普通进程怎么办?
2、书上说(void(*)())-1是把-1强制转换成一个指向函数的指针,该函数无返回值,但是有一个参数是int,比如signal.h里面
#define (void (*)())-1 SIG_ERR
我想知道为什么不是(void(*)(int))-1这样显式的表明是int呢,难道这样默认的吗?我也测试了一下,两种写法应该都是对的

|
c++的函数声明void f()等同于void f(void)
c里面就不是这样,void f()的意思是f的参数不确定,什么都可以。

|
对于第一个问题,当电量不足的时候,这个信号是由内核发出来的…而监视这个电量的进程不在用户空间。我是这样理解的。

|


1.这是一种依赖于系统的信号(Linux默认是终止相关进程,Solaris默认是忽略该信号)。
它主要用于具有不间断电源(UPS)的系统上。 
如果电源失效,则UPS就会起作用,而且通常软件会接到通知。在这种情况下, 
系统依靠蓄电池电源继续运行,所以无须作任何处理。但是如果蓄电池也将不能 
支持工作,则软件通常会再次接到通知,此时,它在15~30秒内使系统各部分 
都停止运行。此时应当传递SIGPWR信号。在大多数系统中使接到蓄电池电压过低 
的进程将信号SIGPWG发送给init进程,然后由init处理停机操作。




    
 
 

您可能感兴趣的文章:

  • cocos2d中CCSpriteFrameCache文件同时存在两个plist的问题解决
  • 基础问题,刚学的!请教,两个日期格式变量,我要求两个日期之间的天数,怎么求?
  • 分别有两个linux系统的两个硬盘接在一台机器上,由其中一个硬盘启动,有问题,大家来看看
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 两个链接库中函数同名的问题
  • socket问题两个
  • 关于一个局域网内有两个DHCP,两个DNS 服务器 的问题!
  • 请教两个小问题!
  • 关于sendmail接收两个完全不同域名邮件的问题
  • 请问两个简单问题?
  • java 基础:两个类之间的联系问题
  • 不好意思,求教两个简单问题。
  • SCO系统的两个问题?????
  • 关于FreeBSD的两个问题
  • 请教两个redhat9问题
  • 请教两个比较初级的问题
  • 请问两个以上用户同时读一个文件的问题。谢谢!
  • Linux使用中的两个问题???
  • 很菜的问题关于两个dialog只能操作其中的一个
  • 有两个问题请教大家。
  • 两个硬盘的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ MultiMaps 成员 swap():交换两个multimaps
  • 急!有两个char buf[]里面是两个日期(2004-08-02),怎样判断两个日期之间的天数?(只能用标准C)
  • C++ Lists(链表) 成员 merge():合并两个list
  • 一个Statement不能同时打开两个ResultSet?为了同时打开两个,可以考虑建立两个Statement?甚至两个Connection?
  • C++ Lists(链表) 成员 swap():交换两个list
  • Keepalived 能配两个虚拟ip吗,匹配两个数据库实例?
  • C++ Maps 成员 swap():交换两个map
  • 可以有其他两个类的实例同时调用一个java实例的两个方法吗?
  • C++ Vectors 成员 swap():交换两个Vector
  • 两个域名,两个端口,一个服务器……
  • C++ Lists(链表) 成员 splice():合并两个list
  • 你们看是不是可以这样理解:在用来进行两个对象的比较时,==操作符用来比较两个对象的引用地址,而equals()用来比较两个对象的值。
  • C++ Strings(字符串) 成员 swap():交换两个字符串的内容
  • 下载了jbuilder5,是rar格式的,解开后有两个文件,一个是rsc-jb5.bin,一个是rsc-jb5.cue,据说这两个文件是刻光盘的,请问谁知道怎么刻?不会用这两个文件直接安装吧?谢谢!
  • C++ Strings(字符串) 成员 compare():比较两个字符串
  • 主进程有两个线程,fork子进程后复制主进程两个线程的内存么?
  • 我机器上安装了linux和win2000两个系统,请问如何在两个系统之间切换。
  • linux字符模式下怎样可以运行两个任务(开两个终端)
  • 听说,初学JAVA有两个开源程序是必看的,请问是哪两个。在那里下载?
  • 由同一个服务端创建两个线程分别向两个客户端同时发送不同的数据···
  • 一个进程创建了两个线程,如何使得当任何一个线程(比如线程a)结束时,同时也结束线程b,也就是使两个线程一起死掉,怎么办呢?


  • 站内导航:


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

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

    浙ICP备11055608号-3