linux程序如何捕获退出程序事件

linux程序如何捕获退出程序事件,第1张

用trap命令,正常退出调用的应该是SIGHUP(1),非正常退出根据情况不同调用SIGINT(2), SIGQUIT(3),SIGTERM(15)。一般情况的退出基本上1 2 3 15都能包括了。

例:

##################################

#!/bin/sh

trap`echo get_messages` 1 2 3 15

##################################

其中用``包含的部分写你要执行的脚本或者命令。

后面的1 2 3 15是捕捉的SIGNAL的号码

★上面例子的意思是:当所执行的process接收到SIGHUP(1),SIGINT(2), SIGQUIT(3), SIGTERM(15)信号的时候,输出get_messages然后终止程序。

※如果你要执行复杂脚本或者命令的话,建议你把他写成函数

比如:

#################################

#!/bin/sh

trap `echo_many_messages` 1 2 3 15

echo_many_messages(){

echo a

echo b

echo c

}

##################################

linux的事件可以通过信号产生。

你说的比较笼统,我也不知道你说的是哪一种。

linux下可以给任何进程发送一些信号,进程收到信号后,需要执行一些 *** 作,这个和Win32下的事件有点像。但是这个是系统级的。

你如果是要编写一个大型程序,分成各个模块,那么各模块之间不但可以用信号来传递消息,也可以用SystemV自带的消息队列或者socket来传递消息,以达到与“触发事件”类似的效果。

进程也可以给自己发信号,也可以给自己发消息(通过消息队列)。

FreeBSD进入图形界面后,键盘和鼠标不能用的解决办法:

首先在命令行界面,使用如下命令 打开配置文件

vi /etc/rc.conf

查看文件中是否有如下信息

moused_enable="YES"

moused_nodefault_enable="YES"

dbus_enable="YES"

hald_enable="YES"

你的rc.conf文件里是否有这些内容,如果没有,添加上,如果有,看是否一样,

注意:后面的值,一定要大写 如“YES”不能写“yes”

2014-05-05 18:31:08

#1得分 0

请点击输入图片描述

Rocloud

等级 

请点击输入图片描述

勋章

请点击输入图片描述

vm安装ubuntu后,ubuntu无法识别键盘,无法输入密码的解决方案

Ubuntu应用 在Vmware 7 下装载的最新Ubuntu10.04镜像会出现无法识别键盘输入。在登录画面时,不能输入密码,无法正常进入系统解决办法:

(1) 开户屏幕键盘功能 在开机界面在右下角单击小人图案,再单击“Universal Access Perferences”,出击“Universal Access Perferences”对话框,在对话框中选中“Use on-screen keyboard”(使用屏幕键盘),以开启屏幕键盘功能,这时会有一个屏幕键盘快速闪过;

(2)重新启动打开屏幕键盘输入密码开启屏幕键盘功能后重新启动系统,这时就可以通过上面的步骤打开屏幕键盘,输入相应的密码

(3) 登录后键盘功能正常使用。

注意在(1)步后没出现软键盘, 需要重启机器。

(4)进入系统之后,要修改/etc/default/console-setup. 的文件内容

原文 XKBMODEL="SKIP" XKBLAYOUT="us" XKBVARIANT="U.S. English" XKBOPTIONS=""

改成 XKBMODEL="pc105" XKBLAYOUT="us" XKBVARIANT="" XKBOPTIONS=""

然后重启,这样在登入界面时就可能使用键盘了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7412764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存