Unix スクリプトを書いているとき、なぜスクリプトがエラーになるのか非常に混乱しています。
スクリプトはこれ...
jvmpid=$(pidof java)
./jstat -gc $jvmpid
スクリプトを実行すると、エラーが発生します。
不正な VM 識別子: 3492 使用法: jstat -help|-options jstat - [-t] [-h] [ []]
定義: -options オプションの仮想マシン識別子によって報告されるオプション。vmid の形式は次のとおりです。 [@[:]] はターゲット Java 仮想マシンのローカル vm 識別子で、通常はプロセス ID です。ターゲット Java 仮想マシンを実行しているホストの名前です。ターゲット ホスト上の rmiregistry のポート番号です。仮想マシン識別子の詳細については、jvmstat のドキュメントを参照してください。ヘッダー行間のサンプル数。
サンプリング間隔。次の形式を使用できます: ["ms"|"s"] は整数で、サフィックスは単位をミリ秒 ("ms") または秒 ("s") として指定します。デフォルトの単位は「ms」です。終了する前に取得するサンプルの数。-J ランタイム システムに直接渡します。
ただし、シェル内でスクリプトの各行を直接実行すると、すべて正常に動作します。
手がかりはありますか?私はすでにウェブでヘルプを検索しました。