首页 > 其他分享 >QNX-8—QNX常用命令—slay

QNX-8—QNX常用命令—slay

时间:2023-06-25 18:11:59浏览次数:37  
标签:slay process QNX 掩码 常用命令 进程 ID

一、翻译

翻译自:
QNX Software Development Platform --> Utilities & Libraries --> Utilities Reference --> S --> slay
https://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.utilities/topic/s/slay.html


按名称或 ID 终止或修改进程 (QNX Neutrino)


1. 句法:

slay [options]... process_name|process_id ...


2. 运行于:

QNX中微子


3. 选项:

-signal_number

指定在与 process_name 或 process_id 匹配的进程上发出哪个信号。 有关信号编号的列表,请参阅 <signal.h>。

-C cpunum

(QNX Neutrino Core OS 6.3.2 或更高版本)将 CPU 亲和性设置为 cpunum,其中第一个 CPU 为 0。您可以多次使用此选项。 有关详细信息,请参阅下面的“设置运行掩码”。

-f

强制对共享相同 process_name 或 ID 的所有进程执行该操作。 通常,当多个进程具有指定的名称或 ID 时,slay 会提示确认。

-h

在进程上设置 SIGSTOP 信号,有效地保持其执行。

-i

(QNX Neutrino Core OS 6.3.2 或更高版本)与 -C 或 -R 选项结合使用时,除了运行掩码之外,还设置继承掩码。 有关详细信息,请参阅下面的“设置运行掩码”。

-m name|pid

将匹配限制为仅进程名称或仅进程 ID。 默认情况下,slay 匹配进程 ID 和名称。 例如:

-------------------------------------------
This command:       Matches a process with:
-------------------------------------------
slay 1234           ID 1234 or the name 1234
slay -m pid 1234    ID 1234
slay -m name 1234   The name 1234
-------------------------------------------


-n nodename

(QNX Neutrino Core OS 6.3.2 或更高版本)在指定远程节点 nodename 上搜索指定进程。

-P prio[f|r|o]

将与 process_name 匹配的进程的优先级设置为 prio。 非 root 用户的最大优先级限制为 63; root 可以指定最高 255 的优先级。您可以使用 procnto 的 -P 选项更改特权优先级的范围。######
优先级后面可以跟f、r或o,分别将调度策略更改为 SCHED_FIFO、SCHED_RR 或 SCHED_OTHER。

SCHED_OTHER 目前与 SCHED_RR 相同。

如果指定 -P 而没有 -T,则 slay 设置指定进程中所有线程的优先级。

-p

以十进制形式将进程 ID 打印到标准输出,每行一个进程 ID。 这些进程并没有被杀死。

-q

在处理进程之前进行查询,即使只找到一个具有匹配名称或 ID 的进程(覆盖选项 -f)。 此选项对于查看 slay 提供的其他进程信息很有用。

-Q

安静。 当您从 C 程序调用 slay 时,此选项非常有用。

-R runmask

(QNX Neutrino Core OS 6.3.2 或更高版本)将 CPU 亲和性设置为 runmask。 您可以多次使用此选项来指定长度超过 32 位的掩码。 有关详细信息,请参阅下面的“设置运行掩码”。

-S

不要终止具有子进程的进程。 您通常在关闭其他设备上的 shell 的 shell 命令中使用此选项。 设置此选项可防止 slay 杀死正在运行其他进程(例如编辑器)的 shell。 如果您还指定 -q,则即使指定进程有子进程,slay 也会提示强制终止。

-s signal_name

要发送的信号。 此选项会导致为与 process_name 或 ID 匹配的进程发出信号 sig。

-T tid

(QNX Neutrino Core OS 6.3.2 或更高版本)将操作应用于具有给定 ID 的线程。 您可以使用此选项将信号定向到特定线程,或更改线程的优先级或运行掩码。

-t ttyname

仅匹配名称(或 ID)为 process_name (process_id) 且以 ttyname 作为控制终端的进程。 如果 ttyname 不以斜杠 (/) 开头,则 slay 假定它以 /dev/ 前缀开头。

-u

在进程上设置 SIGCONT 信号。 如果进程的执行被 SIGSTOP 信号暂停,则从中断处开始执行。 如果进程之前没有设置过 SIGSTOP,则 SIGCONT 信号不起作用。

-v

冗长; 显示有关正在发出信号的进程的消息。

process_name

要操作的进程的名称。

process_id

要操作的进程的 ID。


4. 描述:

使用 slay 实用程序按名称或 ID 终止或修改进程。 指定进程名称时不带路径。 例如,假设您想要终止一个名为 /bin/sleep 的进程。 输入 sleep 作为进程名称足以让 slay 找到并杀死它。

该命令有多种形式。 最简单且最常用的形式是:

slay process_name|process_id

此命令查找具有指定名称或 ID 的进程。 如果只找到一个,则会在其上设置一个 SIGTERM 信号。 如果多个进程具有指定的名称或 ID,系统将提示您对每个进程做出 yes/no 响应。 当每个进程以此形式列出时,还会显示进程名称、pid 和 tty 组/成员编号以帮助您进行选择。


(1) 要在进程上设置信号,您必须拥有该进程或以 root 身份登录。
(2) 已终止进程的清理按照发送信号的线程的优先级进行。
(3) 当您使用 slay 实用程序更改线程的优先级或运行掩码时,它会使用 DCMD_PROC_STOP 和 DCMD_PROC_RUN devctl() 命令。 这些命令用于调试; 不要在生产系统中使用它们。


4.1 设置运行掩码

在多核系统上,您可以使用运行掩码来指定线程或进程可以在哪些处理器上运行。 默认值为全 1(即所有 CPU)。

您可以使用 slay 更改已经运行的线程的运行掩码,或者运行掩码和继承掩码; 要设置新进程的掩码,请使用 on 命令。 这两个命令以相同的方式解释 -C 和 -R 选项。

您可以使用多个 -R 选项来指定长度超过 32 位的运行掩码。 第一个 -R 选项指定位 0 到 31,第二个指定位 32 到 63,依此类推。

如果同时使用 -C 和 -R 选项或它们的多个实例,则生成的掩码是所有 -C 和 -R 选项的按位 ORing。 例如,slay -R 0x1 相当于 slay -C0,slay -R 0x1 -C3 相当于 slay -C0 -C3。【?】

当您使用 -R 或 -C 而不使用 -T 时,指定进程中的所有线程都会受到影响。

如果使用 -R 或 -C,slay 始终更改指定线程或进程的运行掩码。 如果还指定 -i 选项,slay 还会将继承掩码【?】设置为与运行掩码相同的值。


(1) 如果生成的运行掩码指定至少一个物理存在的 CPU,则接受该运行掩码,并且忽略与不存在的 CPU 对应的任何位。 如果生成的运行掩码未指定任何物理存在的 CPU,则会产生错误。
(2) 如果更改进程的运行掩码,则阻塞线程的处理器不会更改,直到线程解除阻塞(或者如果线程保持阻塞,则永远不会更改)。


有关运行掩码的更多信息,请参阅系统架构指南的 Multicore Processing 一章和 QNX Neutrino 程序员指南的 Multicore Processing 一章。


5. 例子:

终止节点 sam 上的 some_app 进程:

slay -n sam some_app

以 root 身份将 my_test 进程的优先级更改为 20:

slay -P 20 my_test
slay -P 19r 1146965
slay -T 100 -P 19r 806997

 

6. 退出状态

0

没有进程符合提供的标准、发生错误或匹配并执行操作的进程数是 256 的倍数。

1–128

匹配并按模 256 进行操作的进程数量(例如,状态 1 可能意味着 1 个进程、257 个进程、513 个进程等)。

129–160

如果退出状态是通过直接生成收集的,则这是匹配并以模 256 执行的进程数。如果通过 shell 运行 slay,则这要么是匹配并执行的进程数,要么指示 slay 死亡的原因 到一个信号(从退出状态中减去 128 以确定信号编号)。

161–255

匹配并执行操作的进程数以 256 为模。


7. 注意事项:

由于历史原因,slay 的退出状态是不标准的。 我们强烈建议您不要在依赖退出状态的任何情况下使用 slay,因为在某些情况下状态是不明确的。

 

相关概念
Multicore Processing (System Architecture)
Multicore Processing (QNX Neutrino Programmer's Guide)


相关参考
kill
on
pidin
ps

 

标签:slay,process,QNX,掩码,常用命令,进程,ID
From: https://www.cnblogs.com/hellokitty2/p/17503625.html

相关文章

  • rabbitmq安装部署和常用命令
     python操作rabbitmqrabbitmq实现可以使用java或者springboot的封装方法,自己创建实现,也可以使用中间件实现,相对于自建,使用rabbitmq应用场景及使用更系统安全。本文具体介绍rabbitmq中间件部署。消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问......
  • MongoDB常用命令指南
    定义......
  • docker常用命令
    docker安装#卸载dockeryumremovedockerdocker-clientdocker-client-latestdocker-commondocker-latestdocker-latest-logrotatedocker-logrotatedocker-engine-yrm-rf/var/lib/docker#设置源yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2sudo......
  • QNX-9—QNX官网文档翻译—Understanding QNX Virtual Environments
    注:翻译自QNXHypervisor-->QNXHypervisor2.2User's-->UnderstandingQNXVirtualEnvironmentshttps://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.hypervisor.user/topic/virt/virt.html一、概述QNX虚拟机管理程序旨在满足Popek/Goldberg(波佩克/戈德堡)......
  • Redis-set常用命令
    Redis-set常用命令smembers遍历所有内容127.0.0.1:6379>saddk1123455127.0.0.1:6379>smembersk112345sadd往key中添加/设置值127.0.0.1:6379>saddk1123455127.0.0.1:6379>smembersk112345sismember查看指定key中是否包含指定的值12......
  • Redis-Hash常用命令
    Redis-Hash常用命令hash的存储格式示例fkey:{k1v1k2v2k3v3}hset设置hash类型,在key中可以添加键值对127.0.0.1:6379>hsetk1k4v4k5v52hget获取hash类型中的指定键的value127.0.0.1:6379>hsetk1k4v4k5v52127.0.0.1:6379>hgetk1k4#获取k1中键为......
  • Redis-list类型常用命令
    Redis-list常用命令lpush从左侧添加127.0.0.1:6379>lpushk1123455127.0.0.1:6379>lrangek10-154321  rpush从右侧添加127.0.0.1:6379>rpushk10-17127.0.0.1:6379>LRANGEk10-1543210-1  lrange遍历list127.0.0.1:6379>L......
  • redis-string常用命令
    string类型的常用命令常用SET/GET SETk1v1 EX参数:以秒为单位设置过期时间setk2v2EX10PX参数:以毫秒为单位设置过期时间setk2v2PX10000EXAT参数:设置以秒为单位的UNIX时间戳所对应的时间为过期时间PXAT参数:设置以毫秒为单位的UNIX时间戳所对应的时间为过期时......
  • 如何运用dos命令进入C盘?Dos常用命令大全
    1、在开始界面找到运行,快捷键Win+R,输入命令cmd,点击确定2、现在我们已经进入以下界面3、在Administrator>后面输入c:dir列文件名deltree删除目录树cls清屏cd改变当前录copy拷贝文件diskcopy复制磁盘del删除文件format格式化磁盘more分屏显示type显示文件内容rd删......
  • arthas常用命令(四)-- thread
    thread命令参数说明参数名称参数说明id线程id-n指定最忙的前N个线程并打印堆栈-b找出当前阻塞其他线程的线程-i指定cpu使用率统计的采样间隔,单位为毫秒,默认值为200--all显示所有匹配的线程thread常用的命令输入thread,双击tab,可以看......