fork

Libvirtはフックフォークを可能にします。
fork

Libvirtはフックフォークを可能にします。

次のLibvirtフックがある場合/etc/libvirt/hooks/qemu.d/hook.sh #!/usr/bin/env bash if [[ $1 == "SEARCH_FOR_ME" ]]; then while true; do sleep 1 done fi bash /etc/libvirt/hooks/qemu.d/hook.sh SEARCH_FOR_ME & disown $! touch /tmp/test123 exit 0 仮想マシンを起動すると、このフックが呼び出され、期待さ...

Admin

フォーク()は非常に遅いです
fork

フォーク()は非常に遅いです

仮想マシンにUbuntu 18.04を実行しているLinuxサーバーがあります。類似ls -lまたは頻繁な操作はw完了するのに数秒かかります。数ミリ秒しかかかりませんstrace -c ls -lが、問題が発生するまで数回実行すると、clone()システムコールが問題の原因であることがわかります。lsstrace -c strace -c ls -l % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- -----...

Admin

Perlの`kill`は予想外の`$! == Errno::EINTR` を使用します。
fork

Perlの`kill`は予想外の`$! == Errno::EINTR` を使用します。

TCP接続を処理するためにサブプロセスをフォークするネットワークデーモンを作成しました。SIGINT基本プロセスの各サブプロセスに対して1つずつトリガーして、いくつかのkill最終統計をクリーンアップして収集します。 ほとんどすべてのケースでうまく機能し、サブプロセスは非常に迅速に終了します。ただし、場合によっては、サブプロセスが短いタイムアウト(たとえば5秒)以内にシャットダウンを拒否することがあります。 当時何が起こったのかわからないので、状況を診断するために詳細な出力を追加しました。netcat接続を開いてプロセスを一時停止することがわかりましたnet...

Admin

GNU画面で「-dm」と「-Dm」の違いは何ですか?
fork

GNU画面で「-dm」と「-Dm」の違いは何ですか?

GNUスクリーンマニュアルは次のように言います: `-d -m' Start `screen' in _detached mode. This creates a new session but doesn't attach to it. This is useful for system startup scripts. `-D -m' This also starts `screen' in _detached_ mode, but doesn't fork...

Admin

長期実行独立プロセスを生成するシステムサービスを実行する「正しい」方法は何ですか?
fork

長期実行独立プロセスを生成するシステムサービスを実行する「正しい」方法は何ですか?

新しいイベントが検出されるたびにffmpegプロセスを生成するシステムサービスがあります。これらのプロセスは、サービスが再起動されても維持され、完了するまで実行する必要があります(できるだけ早く切り離されます)。 現在、次のサービス単位ファイルを使用して設定しています。 [Unit] Description=My Service [Service] Environment="VAR1=val1" "VAR2=val2" Type=exec KillMode=process ExecStart=/path/to/service/executable Rest...

Admin

zshでtmuxの子プロセスと兄弟プロセスを実行する
fork

zshでtmuxの子プロセスと兄弟プロセスを実行する

私はUbuntu 22.04.1(この質問にのみ関連しているWSL 2という事実にもかかわらず)を使用していますUnix tmuxセッションで実行するときにzshプロセスツリー(少し要約しました)が次から始まるのはなぜですか? init(Ubuntu)─┬─SessionLeader───Relay(9)─┬─ssh-agent └─zsh───pstree 到着 init(Ubuntu)─┬─SessionLeader───Relay(9)─┬─ssh-agent ...

Admin

単純なCプログラムを実行する仮想マシンを実行する最も簡単な方法は何ですか
fork

単純なCプログラムを実行する仮想マシンを実行する最も簡単な方法は何ですか

仮想マシンで単純な単一ファイルCプログラムを実行しようとしています。実際、これはフォーク爆弾Cプログラムです: #include <stdio.h> #include <sys/types.h> int main() { while(1) { fork(); } return 0; } この仮想マシンがシステムで実行されている他の仮想マシンにどれだけの影響を与えるかを確認するためにこれを行いたいと思います。 仮想マシンでこれを行う最も簡単な方法が何であるかを知りたいです。可能...

Admin

フォーク:リソースが一時的に利用できない - CentOSサーバー上
fork

フォーク:リソースが一時的に利用できない - CentOSサーバー上

もう何も実行できず(ほとんど何も)、次のエラーメッセージが表示され続けます。コマンドを実行すると、何度もエラーが発生する可能性があります。フォーク:再試行:サブプロセスなし、数回テストしてみると時々動作することがあります。 -bash: フォーク: 再試行: サブプロセスなし -bash: フォーク: リソースを一時的に使用できない エラーメッセージの例: [user@server ~]$ sudo -i sudo: unable to fork: Resource temporarily unavailable [user@server ~]$ su...

Admin

double() - なぜですか?
fork

double() - なぜですか?

ソースコードで次の関数を見つけました。猫の目(ミニマリストウィンドウマネージャ): void spawn(const Arg arg) { if(fork() == 0) { if(fork() == 0) { if(dis) close(ConnectionNumber(dis)); setsid(); execvp((char*)arg.com[0],(char**)arg.com); } ex...

Admin

stdinをstdoutとstderrにフォークしますか?
fork

stdinをstdoutとstderrにフォークしますか?

標準入力をstdoutとstderrに分岐できるかどうか疑問に思います。これらのこと、 $ echo "hi" | fork > std.out 2> std.err $ cat std.out hi $ cat std.err hi それとも、入力を2つの異なるターゲットに分岐する機能がありませんか?このteeコマンドは私が望むものに似ているようですが、ファイルに書きたくありません。ありがとうございます。 ...

Admin

フォークされたプロセスはなぜ終了しますか?
fork

フォークされたプロセスはなぜ終了しますか?

私はRed Hat RHEL 7.9サーバーで動作しています。何百もの異なる小さなCベースのプログラムを実行するためにfork()を繰り返し呼び出すPerlスクリプトがあります。一度に約10個のプログラムを実行し(マイコンピュータには16個のコアがある)、前のプログラムが完了するのを待ってから新しいプログラムを起動するためにfork()を呼び出します。ほとんどの手順は10秒以内に完了します。 数分後、多くのプログラムが終了しました。外部 Perl スクリプトを継続して実行すると、異なる数のプログラムが終了し、他の単一プログラムが終了します。また、同時プログラ...

Admin

フォークシステムコールはどのように機能しますか?
fork

フォークシステムコールはどのように機能しますか?

この例を見ると #include <stdio.h> #include <unistd.h> void main(){ int pi_d ; int pid ; pi_d = fork(); if(pi_d == 0){ printf("Child Process B:\npid :%d\nppid:%d\n",getpid(),getppid()); } if(pi_d > 0){ pid = fork(); if(pid > 0){ printf("\nPa...

Admin

フォークサポート接続が拒否された場合はsocatに停止するように指示します
fork

フォークサポート接続が拒否された場合はsocatに停止するように指示します

私はこのディレクティブを使用して、ローカルコンピュータからポートを別のポートに転送します。 socat -d -d TCP4-LISTEN:80,reuseaddr,fork TCP4:127.0.0.1:8000 ターゲットポートが閉じられていない限り(接続を拒否)、ポートを開いたままにしてください。 接続拒否時にシャットダウンを要求できますかsocat? ...

Admin