我正在查看linux public class CsvData
{
[CsvColumn(FieldIndex = 0)]
public int x { get; set; }
[CsvColumn(FieldIndex = 1)]
public int y { get; set; }
[CsvColumn(FieldIndex = 2)]
public int z { get; set; }
}
命令。
Q1:timeout
实用程序是否也向timeout
发送信号?
Q2:如果父进程在超时间隔之前退出,它会终止childprocess
吗?
我跳过文档之间,但我找不到适合这种行为的文档。
我的观察结果:
我将以下脚本作为childprocesses
test.sh
timeout 2s ./test.sh
这里 #!/bin/bash
(sleep 5; echo "Hello World") &
(sleep 5; echo "Hello World") &
(sleep 5; echo "Hello World") &
(sleep 5; echo "Hello World") &
在2s之前退出,因此我认为超时实用程序无法杀死分叉进程,因此我在5秒后看到test.sh
这是否意味着超时不能杀死子进程?
答案 0 :(得分:0)
问题不在于单独的进程组,因为这是一个脚本,因此不是交互式shell,因此关闭了作业控制。您可以通过将其添加到脚本底部来查看:
ps -o comm,pid,pgrp
问题是您的脚本会触发后台任务(在同一进程组中),但随后会退出。超时(1)看到退出然后退出自己。您可能想要做的是让脚本在最后添加wait
来等待其后台任务完成。