我可以创建一个永远挂起的虚拟进程并通过以下方式获取其 PID:
bash -c 'echo $$; read'
我想要一个多线程替代方案来替代这个单行代码,它创建 2 个以上线程,打印每个线程的线程 ID,然后每个线程都会阻塞。用法看起来像:
$ launch-multithread
2459
2460
这可以用常见的 Unix 实用程序实现吗?
出于好奇,我想这样做,因为我正在使用 cgroup,并且希望避免干扰任何正在做我关心的事情的进程。
答案1
这是实现目标的非常简单的方法。
#!/usr/bin/env bash
sh -c "sleep 3600" &
echo $!
sh -c "sleep 3600" &
echo $!
使用sleep 3600
将使您的进程保持活动状态 1 小时 - 根据需要进行调整。