ホームページ > バックエンド開発 > Golang > Windows で Go プロセスをコマンド ウィンドウから切り離し、コンソール ウィンドウを非表示にする方法

Windows で Go プロセスをコマンド ウィンドウから切り離し、コンソール ウィンドウを非表示にする方法

DDD
リリース: 2024-11-03 17:10:29
オリジナル
757 人が閲覧しました

How to Decouple a Go Process from the Command Window and Hide the Console Window in Windows?

コマンド ウィンドウからプロセスを切り離す

Go では、os.StartProcess() を使用して子プロセスを作成できます。ただし、デフォルトでは、このプロセスは親コマンド ウィンドウに接続されたままになります。プロセスを分離してバックグラウンドで実行するには、その属性を変更する必要があります。

コードでは、子プロセスのファイル記述子をリダイレクトするように procAttr 構造体を設定しました。ただし、Windows システムのコンソール ウィンドウを非表示にするために必要な設定が省略されているようです。

コンソール ウィンドウを非表示にするには、次の行を procAttr.Sys メンバーに追加します:

procAttr.Sys.HideWindow = true
ログイン後にコピー

しかし、これにより「間違ったメモリポインタへのパニック」エラーが発生するとおっしゃいました。これは、プロセスの分離とは関係のない、コード内の別の問題が原因である可能性が高くなります。

Windows GUI サブシステムにリンクせず、コンソール ウィンドウの作成を無効にせずにプログラムをコンパイルするには、次のコマンドを使用します。

go tool 8l -o output.exe -Hwindowsgui input.8
ログイン後にコピー

これにより、コンソール ウィンドウなしでバックグラウンドで実行できる実行可能ファイルが生成されます。

以上がWindows で Go プロセスをコマンド ウィンドウから切り離し、コンソール ウィンドウを非表示にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート