信号编号 2 的名称

2024-01-09

我想知道是否有一个模块或编译指示定义了由system称呼?例如:

use feature qw(say);
use strict;
use warnings;

my $cmd = 'sleep 10';
my $res = system $cmd;
my $signal = $res & 127;
if ( $res == -1 ) {
    die "Failed to execute: $!\n";
}
elsif ( $signal == 2 ) {
    say " Aborted by user.";
}
elsif ( $signal ) {
    printf " Command '%s' Died with signal %d, %s coredump.\n",
      $cmd, $signal, ( $? & 128 ) ? 'with' : 'without';
}

代替$signal == 2,我认为对于代码维护来说,最好使用类似的东西$signal == SIG_ABRT..


有几种方法可以做到这一点。您已经看到了一种使用的方法POSIX,我通常会避免这样做,因为默认情况下它会导入huge当前包中的符号数量(近六百)。即使您通过编写将其限制为所需的名称

use POSIX ':signal_h';

仍有大约五十个名字被输入。这也是一个反复试验才能发现的问题name给定信号的number使用这个模块。

您还可以使用以下命令构建 Perl 构建时使用的信号表:Config https://metacpan.org/pod/Config模块,它导出信号名称及其对应编号的列表$Config{sig_name} and $Config{sig_num}.

use strict;
use warnings;

use Config '%Config';

my @sig_names;
@sig_names[ split ' ', $Config{sig_num} ] = split ' ', $Config{sig_name};

printf "Signal number 2 is %s\n", $sig_names[2];

output

Signal number 2 is INT

或者您可以使用IPC::Signal https://metacpan.org/pod/IPC::Signal模块方便地封装了所有这些

use strict;
use warnings;

use IPC::Signal 'sig_name';

printf "Signal number 2 is %s\n", sig_name(2);

output

Signal number 2 is INT
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

信号编号 2 的名称 的相关文章

  • Perl 中可以使用哪种语法糖来减少左/右值运算符与 if 语句的代码?

    那里有很多语句 因为 Perl 是一种非常甜蜜的语言 但任何语言中最常用的语句都是 if 语句和设置值的组合 我想我已经找到了很多 但仍然存在一些空白 最终 目标是不必多次编写变量名 这是我到目前为止所拥有的 r s r s unless
  • unix df 上的正则表达式帮助

    我需要一些帮助来调整我的代码以查找此 UNIX 中的另一个属性df output Ex Filesystem Size Used Avail Capacity Mounted on dev ad4s1e 61G 46G 9 7G 83 ho
  • 根据插入顺序迭代哈希?

    不想对条目进行排序 使用它也不会保留顺序 foreach my val keys hash 默认情况下 Perl 5 中的哈希值是无序的 您可以使用tie http perldoc perl org functions tie html a
  • 使用Perl/DBI/MySQL/InnoDB查找外键信息

    我想以编程方式查找 MySQL 数据库中特定 InnoDB 表的外键 我正在使用 Perl 我偶然发现 dbh gt foreign key info 我刚刚尝试使用它 但似乎有点错误 它不会返回 ON DELETE 和 ON UPDATE
  • 在 Google 表格应用程序中进行身份验证

    我有一个类似批处理的应用程序 由调度程序定期调用 无需人类用户参与 它使用 PerlNet Google 电子表格 http metacpan org pod Net Google Spreadsheets包通过从数据库获取的数据来更新 G
  • 是否有理由在 Perl 中使用 open(...) 的双参数形式?

    是否有任何理由使用双参数形式open 在 Perl 中而不是三个或更多参数的版本 我能想到的唯一原因是明显的观察结果 即两个参数的形式更短 但是假设冗长不是问题 是否有任何其他原因会让您选择双参数形式open 一参数和二参数 open 应用
  • 在 Perl 中,如何将一个函数作为另一个函数的参数传递?

    我编写了以下 Perl 类 package Menu use strict my MENU ITEMS my HEADER Pick one of the options below n my INPUT REQUEST Type your
  • 如何找到进程启动时使用的原始用户名?

    有一个 perl 脚本需要以 root 身份运行 但我们必须确保运行该脚本的用户最初没有以用户 foo 身份登录 因为它将在脚本运行期间被删除 那么 我如何查明自登录以来可能已多次起诉的用户是否在该链中的任何时间都没有模拟过 foo 我发现
  • 添加到表现异常的 Perl 哈希

    我试图通过将时间标签从事件内移动到其父级内来更改一些 XML 以按时间对事件进行分组 那是
  • LibXML findnodes($query)

    我在使用这段代码时遇到了一些问题 my file xml news xml my parser XML LibXML gt new my doc parser gt parse file file my xpc XML LibXML XPa
  • Perl 守护进程不与 Sleep() 一起工作

    我使用编写了一个简单的测试守护进程过程 守护进程 http search cpan org deti Proc Daemon 0 14 lib Proc Daemon pod 这是守护进程 usr bin perl use Proc Dae
  • 在 ActivePerl 上安装 Padre (IDE)?

    当我访问 Padre 的官方下载网站时 http padre perlide org download html http padre perlide org download html 我看到 Windows 中唯一的选项是下载 DWIM
  • 如何有条件地使用 Perl 中的模块?

    我想在 Perl 中做这样的事情 Module1 ReportHashFile1 ReportHashFile1 pm Module2 ReportHashFile2 ReportHashFile2 pm if Condition1 use
  • 对变量执行 openssh 时无法捕获 stderr-perl

    我想捕获 ssh gt 捕获 到变量后主机上显示的标准错误 例如当我尝试时 use Net OpenSSH my ssh Net OpenSSH gt new host my out ssh gt capture cd home geek
  • Perl:导出器出现问题

    Module FOO BAR Foobar pm use strict use warnings package Foobar our VERSION ISA EXPORT EXPORT OK EXPORT TAGS FOO BEGIN r
  • Perl 中令人困惑的文件句柄

    一直在使用以下脚本 但仍然无法理解两种不同 类型 的文件句柄形式背后的含义 任何见解将不胜感激 usr bin perl use warnings use strict open FH example txt or die while
  • 如何在Template工具包中检测数组类型? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我需要在模板工具包中检测数组类型附件的一些变量 有最佳实践吗 可以定义一个自定义虚拟方法 该方法返回所提供变量的引用类型 粗略的例子 usr
  • 如何在使用 Apache 2 的 Windows 上忽略 Perl shebang?

    我已经在我的 Windows 机器上设置了本地 Perl Web 环境 我正在开发的应用程序最初来自 Linux 服务器 因此源代码的 shebang pl文件看起来像这样 usr bin perl 这会导致我的 Windows 开发机器上
  • 替换字符串中的重复字符串

    我正在尝试查找 并替换 字符串中重复的字符串 我的字符串可以是这样的 Lorem ipsum dolor 坐阿梅特坐 阿梅特坐 阿梅特坐诺斯特鲁德实习amit situllamco Laboris nisi ut aliquip ex ea
  • Perl 编译错误:“无法找到 local/lib.pm”

    作为一名 Perl 菜鸟 我犯了一个菜鸟错误 我当时正在做一个需要 HTML 解析器的项目 所以我想我应该安装 Perl 的 HTML TreeBuilder XPath 模块 所以我深入研究了 cpan 和 perlbrew 但没有完全理

随机推荐

  • 使用批处理文件将标题添加到 CSV

    我有一个 CSV 文件 其中包含需要添加标题的数据 我希望它看起来像这样 group id firstname lastname homephone acme 1 joe moe 555555555 目前看起来像这样 acme 1 joe
  • 检索每个用户的最新条目

    如果我有一个具有以下结构和数据的表 id user id created at 1 7 0091942 2 3 0000014 3 6 0000890 4 6 0029249 5 7 0000049 6 3 0005440 7 9 0010
  • 在内网发布Rstudio Shiny App

    我正在尝试构建一个 Rstudio Shiny 应用程序并将其发布到我们的内联网中 以便我们办公室的其他人都可以看到它 我是一个 Windows 用户 关于如何在 Linux 环境中设置闪亮服务器的在线说明对我来说有点困难 有没有一种简单的
  • 在 C++ 程序中评估从 max 导出的 3d 样条线

    我的 C 程序需要访问在 3ds Max 2011 中构建的 3D 样条线 我找到了一个简单的 maxscript http algorithmist wordpress com 2007 09 18 spline to xml maxsc
  • 如果goroutines涉及用户空间线程,阻塞操作是否会导致整个线程的上下文切换?

    抱歉 如果这个问题太愚蠢了 我正在阅读 goroutine 的详细信息Here http tleyden github io blog 2014 10 30 goroutines vs threads 根据该页面 它说Goroutines
  • 如何查明 XMLHttpRequest.send() 是否有效

    我在用XMLHttpRequest发送文件javascript代码到一个django view 我需要检测文件是否已发送或者是否发生了一些错误 我使用jquery编写了以下javascript 理想情况下 我想向用户显示文件未上传的错误消息
  • 作为 SQL Server 代理作业中的步骤运行时出现语法错误

    当您在 PowerShell 窗口中运行下面的脚本时 它运行得非常好 Import Csv DestinationFile ForEach Object Invoke Sqlcmd Database database ServerInsta
  • Code Golf:1x1 黑色像素

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 最近 我使用我最喜欢的图像编辑器制作了一个 1x1 黑色像素 当您想以便宜的方式在 HTML
  • 在组织模式下用标签组织笔记

    因此 我广泛使用 org mode 来满足我的日常 TODO 需求 我想知道我是否也可以有效地使用它来记笔记 我基本上想要的是用标签存储笔记 然后想通过标签搜索这些笔记 例如 如果我有这样的东西 Heading 1 Note 1 tag1
  • “APP”中无法使用 Apple Pay

    提前致谢 我在我的应用程序中使用 Apple Pay 我在 Apple 中注册了新的商家 ID 和来自支付网关的证书 通过使用此商家 ID 付款摘要表正在打开 但当我选择付款时 收到如下错误消息 Apple Pay 在 APP 中不可用 检
  • :before 和 ::before 有什么区别?

    我刚刚看到一个 CSS 代码 其中包括 before标签 我在看MDN https developer mozilla org en CSS before看看是什么 before是但我真的不明白 有人可以解释它是如何工作的吗 它会在我们通过
  • 找不到与给定名称匹配的资源 Theme.AppCompat.Light.NoActionBar

    我正在 Styles xml 文件中添加一些项目 但是 它给了我一个错误 这是我的代码
  • 如何在 mysql 中创建作业或事件

    我想创造一份工作mysql它在一天结束时运行 在该作业中我想更新表中的一些列值 假设我有 2 个表 其中有一列名为Status这是Pending or Accepted 为此 我想创建一个作业 在其中搜索两个表并设置Pending状态为Ac
  • ant 支持 java 9 addmods 选项

    我正在尝试使用 Java 9 编译我的 java 项目 我正在使用 java xml bind 包 所以我需要使用 addmods 选项 用于编译 Ant 1 9 7 似乎不支持这个新功能 ant 支持 Java 9 编译器的 addmod
  • Python - Networkx 搜索前驱节点 - 超出最大深度

    我正在使用 Python 中的 Networkx 库 用于图形管理 进行一个项目 并且在尝试实现我需要的内容时遇到了麻烦 我有一个有向图的集合 将特殊对象作为节点和与边关联的权重 问题是我需要从输出节点到输入节点遍历该图 对于每个节点 我必
  • ajax加载不同内容后如何刷新Select2下拉菜单?

    我在下拉菜单组合中使用 Select2 我有一份 国家 菜单和一份 州 省 菜单 根据所选国家 地区的不同 州 省 下拉列表的内容会发生变化 使用ajax从数据库中提取州 省 然后以如下方式显示 display output
  • 改进频率时间归一化/希尔伯特传输运行时间

    所以这是一个有点本质的问题 我有一个时间序列信号 它具有不均匀的响应谱 我需要将其白化 我使用频率时间归一化方法进行此白化 其中使用恒定的窄频带 最低频率端成员的约 1 4 逐步过滤两个频率端点之间的信号 然后 我找到表征每个窄带的包络 并
  • 无法启动 SSMS (SQL Server 2014 Express) - 许可证数据无效。需要重新安装

    我有一台运行 Windows Server 2012 RS 和 IIS 8 5 的新服务器 我已经安装了 SQL Server 2014 Express 但在 IIS 下的站点连接到 最初为占位符 数据库时遇到问题 为了让 Visual S
  • 我如何在 RxJava 中显式地发出 Flowable 完成的信号?

    我正在尝试创建一个Flowable这是包装一个Iterable 我将元素推送到我的Iterable定期但似乎完成事件是隐式的 我不知道如何表示处理已完成 例如在我的代码中 note that this code is written in
  • 信号编号 2 的名称

    我想知道是否有一个模块或编译指示定义了由system称呼 例如 use feature qw say use strict use warnings my cmd sleep 10 my res system cmd my signal r