スクリプトを実行するホスト名と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フィールドのみを選択します。