首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Perl术语::ReadLine::Gnu信号处理困难

Perl术语::ReadLine::Gnu信号处理困难
EN

Stack Overflow用户
提问于 2012-11-09 21:23:12
回答 1查看 705关注 0票数 5

我正在使用术语::ReadLine::Gnu,并且遇到了信号处理方面的问题。给定下面的脚本和发送给脚本的术语信号,术语信号的处理程序直到按下enter键之后才会被触发。使用术语::ReadLine:Perl不会发生这种情况。

我读过这个术语::ReadLine::Gnu有自己的内部信号处理程序,但坦率地说,我不知道如何使用它们。

我已经回顾过变量尝试将rl_catch_signals变量设置为0,但这并没有帮助。理想情况下,我想使用Gnu信号处理程序,但我也会禁用它们。

确切地说,我需要术语处理程序在接收到信号后触发,而不是等待按下enter键。

任何帮助或建议都是非常感谢的!

代码语言:javascript
复制
#!/usr/bin/perl

use strict;
use warnings;
use Term::ReadLine;

$SIG{TERM} = sub { print "I got a TERM\n"; exit; };

my $term = Term::ReadLine->new('Term1');
$term->ornaments(0);
my $prompt = 'cmd> ';
while ( defined (my $cmd = $term->readline($prompt)) ) {
    $term->addhistory($cmd) if $cmd !~ /\S||\n/;
    chomp($cmd);
    if ($cmd =~ /^help$/) {
        print "Help Menu\n";
    }
    else {
        print "Nothing\n";
    }
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13316232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档