仮想マルチスレッドプロセスを作成し、汎用ユーティリティを使用して情報を取得する方法は?

仮想マルチスレッドプロセスを作成し、汎用ユーティリティを使用して情報を取得する方法は?

永久に停止する仮想プロセスを作成し、次のように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時間アクティブです。必要に応じて調整してください。

関連情報