私は現在スクリプトを実行しているCPUの数を見つける便利な方法を探しています。

私は現在スクリプトを実行しているCPUの数を見つける便利な方法を探しています。

スクリプトを実行するホスト名とCPUの数を印刷する簡単なデモスクリプトを実装したいと思います。

hostname -s出力の最初の部分を担当します。 CPU番号を取得する同様の便利な方法はありますか?

(私が知る限り、通常、プロセスには複数のCPUで実行できる複数のスレッドを含めることができますが、ここではスクリプトが単一のスレッドで実行されているとします。)

ベストアンサー1

これは上記のJesse_bソリューションと似ていますが、pidを使用してスクリプト情報を要求します。

#!/bin/bash                                                                     

host=$(hostname -s)                                                             
processor=$(ps -hp $$ -o psr)                                                   

echo "Script running on ${host} on processor ${processor}"

この-hオプションはヘッダーを抑制し、この-p $$オプションは指定されたpidを持つプロセスを選択し、$$実行中のスクリプトのpidです。この-o psrオプションは、プロセスが現在割り当てられているプロセッサであるpsrフィールドのみを選択します。

おすすめ記事