小编Phi*_*rry的帖子

为什么 SSH -t 不等待后台进程?

为什么ssh -t不等待后台作业完成?

例子:

ssh user@example 'sleep 2 &'
Run Code Online (Sandbox Code Playgroud)

这按预期工作,因为 ssh 在 2 秒后返回,而

ssh user@example -t 'sleep 2 &'
Run Code Online (Sandbox Code Playgroud)

不等待sleep完成并立即返回。

任何人都可以解释这背后的原因吗?有没有办法ssh -t在返回之前等待所有后台进程完成?

我的用例是我用 启动一个脚本ssh -t,这个脚本启动几个后台作业,这些作业在主脚本完成后应该保持活动状态。随着ssh -t这是不可能的为止。

shell process ssh file-descriptors background-process

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

模块延迟打印到内核日志

我创建了一个基本的 Linux 内核模块,它执行以下操作:

static __init int init(void)
{
  printk(KERN_DEBUG "Banana");
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

而且当然:

module_init(init);
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我通过插入模块后找不到字符串“Banana”

insmod banana_module.ko
Run Code Online (Sandbox Code Playgroud)

命令

dmesg -k | grep Banana
Run Code Online (Sandbox Code Playgroud)

不返回任何内容。

但是,当我卸下模块并再次插入时,我可以找到它。然后我找到了两根香蕉,一根是之前的,一根是当前插入的。这是由于冲洗问题吗?我觉得这种行为有点奇怪,在互联网上找不到类似的问题。

顺便说一句,这种情况发生在我的台式机和笔记本电脑上的虚拟机(没有虚拟机)上。

那么,为什么内核不喜欢香蕉呢?

linux logs kernel dmesg

4
推荐指数
1
解决办法
1577
查看次数