[解決済み] タイムアウトを伴うシェル関数の実行
2023-04-28 17:06:28
質問
なぜこのようなことができるのでしょうか?
timeout 10s echo "foo bar" # foo bar
しかし、これでは
function echoFooBar {
echo "foo bar"
}
echoFooBar # foo bar
timeout 10s echoFooBar # timeout: failed to run command `echoFooBar': No such file or directory
で、どうすればうまくいくのでしょうか?
どのように解決するのですか?
timeout
はコマンドであるため、bashシェルのサブプロセスで実行されます。したがって、現在のシェルで定義された関数にアクセスすることはできません。
コマンドは
timeout
が与えられると、timeout のサブプロセス(シェルの孫プロセス)として実行されます。
というのは、混乱するかもしれません。
echo
はシェルの組み込みでもあり、独立したコマンドでもあるからです。
あなたができることは、関数を独自のスクリプトファイルに入れて、実行可能なように chmod して、それを
timeout
.
サブシェルで関数を実行し、元のプロセスで、進行状況を監視し、時間がかかりすぎる場合はサブプロセスを終了させる、フォークという方法もあります。
関連
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] シェルで、「2>&1」はどういう意味ですか?
-
[解決済み] ディレクトリが存在しない場合のみmkdirする方法は?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bash関数にパラメータを渡す
-
[解決済み] シェルコマンドを実行しながらエコーする方法
-
[解決済み】JavaScriptの関数にデフォルトのパラメータ値を設定する
-
[解決済み】Bashでファイル名と拡張子を抽出する。
-
[解決済み] Bashの引数で引用符を維持するには?重複
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン