小编Rob*_*ann的帖子

缺少 GNU Linux (Arch Linux) 上的 SIGINFO

我正在开发一个应用程序,我希望它根据需要将一些运行时统计信息打印到控制台。kill我立刻想到了信号。

阅读Wiki 上的Unix 信号SIGINFO似乎是要走的路,因为:

  • 旨在为这些目的
  • 如果未实现信号处理程序,则不终止进程(与SIGUSRx- 请参阅此处相反)

但是,通过检查 的输出kill -l,似乎我的服务器没有实现此信号。

我的问题是:

  1. 为什么SIGINFO我的系统上没有?它在所有 GNU Linux 系统上都不存在吗?
  2. 有没有一种简单的(即没有内核/glibc 重新编译)方法来启用这个信号?如果没有,那么困难的方法是什么?
  3. 如果目标进程不处理,我可以使用哪些替代信号用于我的目的,不会引起任何副作用?(我已经假设没有,因为我在glibc的手册上找不到任何其他合适的信号)

Linux元信息:

Linux whatever 3.18.2-2-ARCH #1 SMP PREEMPT Fri Jan 9 07:37:51 CET 2015 x86_64 GNU/Linux

更新:我仍在寻找有关为什么此信号被有条件地排除在 BSD 之外的其他系统之外的更多信息(请参阅下面的评论)。该信号似乎对许多用途都非常有用,所以我很难相信这只是一个心血来潮的问题 - 那么这个信号在 Linux 上的真正表现是什么?

linux signals glibc

14
推荐指数
1
解决办法
5143
查看次数

串行控制台上没有登录提示

我已经将 USB 转串口线从 OS X 连接到运行 Arch Linux ARM的Banana Pi板,由 Lemaker 分发。连接本身运行良好 - 我在启动时看到所有启动消息,我可以进入 U-Boot 并发出命令等;我假设连接本身按预期工作。

但是,一旦引导序列完成并且应该提示我输入凭据,屏幕就会变为空白(清除以前的条目)并且不会出现登录提示。

谷歌搜索发现我应该:

  1. 在串行控制台上启用 getty: systemctl enable getty@ttyS0.service
  2. 确保内核引导参数console=ttyS0,115200是最后一个console参数

这样做,我仍然没有收到登录提示。检查日志显示systemd由于某种原因无法启动dev-ttyS0.device

Nov 25 20:20:27 pi-server systemd[1]: Timed out waiting for device dev-ttyS0.device. Nov 25 20:20:27 pi-server systemd[1]: Dependency failed for Serial Getty on ttyS0.

journalctl -u dev-ttyS0.device不会透露任何其他信息 - 只是它超时了。systemctl start dev-ttyS0.device也超时。

我错过了什么?为什么systemd不能启动设备?更重要的是,为什么缺少登录提示?

跑步 Linux pi-server 3.4.90 #2 SMP PREEMPT …

arch-linux serial-console getty

7
推荐指数
1
解决办法
9441
查看次数

嵌套 ssh 会话有限制吗?

在我的工作流程中,我经常需要打开多个链接/嵌套(?) ssh 会话才能到达我需要的位置:

  1. ssh 到远程管理服务器
  2. 升级权限 ( sudo su ...)
  3. SSH 到另一个远程管理服务器
  4. SSH 到目标机器
  5. (可选)再次提升权限

这让我想知道......

我还能继续这样下去多久?这样通过 ssh 可以打开多少个“跳转”?有上限吗?

作为一名程序员,我的直觉告诉我没有上限,因为每个额外的 ssh 会话只需要知道

  1. 请求从哪里来
  2. 这些请求应该发送到哪里

因此,我计算机上的 ssh 会话不知道我稍后打开的其他 ssh 会话。

这是真的还是有上限?

附言。延迟是一个明显的上限,但只是实际的限制。

ssh

5
推荐指数
1
解决办法
1773
查看次数

标签 统计

arch-linux ×1

getty ×1

glibc ×1

linux ×1

serial-console ×1

signals ×1

ssh ×1