• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >perl > perl中使用signal(信号)实例

perl中使用signal(信号)实例

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了perl语言编程实例,perl实例精解,perl脚本实例,perl实例,perl程序实例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

使用signal,能让你的程序功能更丰富。要在Linux下列出所有的signal, 利用kill -l即可。 下面是我机器上的输出(后面还有到64的没列出来):

xuyang@xuyang-desktop:/$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8 ) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS
</div>

其中每个signal在这里有介绍.
下面是一个例子,禁止ctrl+c (ctrl+c 会产生一个INT信号给当前程序) 来关闭当前程序

sub INT_handler {
print("Don't Interrupt!\n");
}

$SIG{'INT'} = 'INT_handler'; #another way is $SIG{'INT'} = \&INT_handler ;

for ($x = 0; $x < 10; $x++) {
print("$x\n");
sleep 1;
}
</div>

其中的%SIG 是perl内置的hash,专门用来处理信号的。如果要ignore某个信号,可以写成
$SIG{‘INT'} = ‘IGNORE' ;
</div>
要恢复成缺省的情况,利用
$SIG{‘INT'} = ‘DEFAULT' ;
</div>
要发送一个ctrl+c 给某个程序,除了使用ctrl+c 以外,还可以键入
kill -s INT .
</div>
比较有实用价值的是SIGUSR1, SIGUSR2, 这两个signal是自定义的。你可以在你的程序用用任意方式来处理这两个信号。而当你想要触发这个信号的时候,只需要在linux下键入
kill -s USR1 pid
</div>
就可以触发这个信号处理程序,你可以在这个信号处理程序中打开和关闭调试信息,或者切换工作模式等等。当然因为signal是操作系统的功能,所以这里的变成语言不仅仅对perl适用,对其他的语言也适用。只是语法不同而已。

</div>

您可能想查找下面的文章:

  • 使用Perl生成随机密码
  • Perl删除前导和拖尾空白(删除左右空格、空白字符)
  • About Perl(翻译Perl官网介绍)
  • Perl初学笔记之Hello World
  • Perl的Mail::POP3Client模块和Gmail通信实例
  • perl中使用signal(信号)实例
  • perl读写文件代码实例
  • 什么是Perl?编程语言Perl详细介绍
  • Perl中使用MIME::Lite发送邮件实例
  • Perl中使用dig和nali判断DNS解析地址归属地是否一致脚本分享

相关文章

  • Windows和Linux系统下perl连接SQL Server数据库的方法
  • perl数组的多数字下标示例代码
  • Shell编程的一些知识集合
  • Perl 获取shell命令的执行结果
  • perl模块Data::Dumper应用一例分享
  • perl中的字符串操作函数chomp与chop介绍
  • Perl函数(子程序)学习笔记
  • perl哈希hash的常见用法介绍
  • perl如何避免脚本在windows中闪一下就关闭
  • Perl中处理时间的几个函数

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Perl实现删除Windows下的图片缓存缩略图Thumbs.db
    • Perl的Mail::POP3Client模块和Gmail通信实例
    • perl中srand()与time的函数使用方法介绍
    • Perl中的控制结构学习笔记
    • perl的cgi高级编程介绍
    • perl qw以空格为分隔符问题的解决方法
    • Perl内置特殊变量总结
    • Shell编程的一些知识集合
    • Perl集群配置管理系统Rex简明手册
    • cpan安装Net::SSH::Perl中遇到的一些问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有