タグ

processに関するbabydaemonsのブックマーク (5)

  • neue cc - ProcessX - C#でProcessを C# 8.0非同期ストリームで簡単に扱うライブラリ

    C#使う人って全然外部プロセス呼び出して処理ってしないよね。というのは、Windowsがなんかそういうのを避ける雰囲気だから、というのもあるのですが、ともあれ実際、可能な限り避けるどころか絶対避ける、ぐらいの勢いがあります。ライブラリになってないと嫌だ、断固拒否、みたいな。しかし最近はLinuxでもばっちし動くのでそういう傾向もどうかなー、と思いつつ。 避けるというのはOSの違いというのもありそうですが、もう一つはそもそも外部プロセスの呼び出しが死ぬほど面倒くさい。ProcessとProcessStartInfoを使ってどうこうするのですが、異常に面倒くさい。理想的にはシェルで書くように一行でコマンドと引数繋げたstringを投げておしまい、と行きたいのですが、全然そうなってない。呼び出すだけでも面倒くさいうぇに、StdOutのリダイレクトとかをやると更に面倒くさい。非同期でStdOutを

  • 子プロセスの標準入出力 (System.Diagnostics.Process) - smdn.jp

    Processクラスを使うことで子プロセスを起動することができ、起動した子プロセスの標準ストリーム(standard streams)を扱うこともできます。 子プロセスの標準入力(standard input, stdin)や標準出力(standard output, stdout)などの標準ストリームを扱う場合は、ProcessStartInfoクラスで標準ストリームをリダイレクトするためのオプションを指定して子プロセスを起動します。 具体的には、RedirectStandardInput/RedirectStandardOutputなどのプロパティをtrueにすることで、子プロセスの標準ストリームをリダイレクトさせます。 これにより、親プロセス側から子プロセスの標準入力へ書き込む/標準出力を読み込むことができます。 .NET Frameworkでの場合、標準ストリームをリダイレクトする

    子プロセスの標準入出力 (System.Diagnostics.Process) - smdn.jp
  • プロセスアフィニティマスクをアプリケーションで設定する - Kazzz's diary

    前回のエントリではimagecfgというユーティティを使用してプロセスアフィニティを設定したが、この方法ではバイナリのイメージヘッダを直接書き換えてしまうため変更は恒久的なものになってしまう。 動的に変更することはできないのだろうかと調べるとWin32にはプロセスアフィニティマスクを取得、設定するAPIが用意されており、例えば.NET C#等からなら簡単に操作することができることが判った。 使うAPIは以下の二つ。 [DllImport("kernel32.dll", SetLastError = true)] static extern bool GetProcessAffinityMask(IntPtr hProcess, out UIntPtr lpProcessAffinityMask, out UIntPtr lpSystemAffinityMask); [DllImport("

    プロセスアフィニティマスクをアプリケーションで設定する - Kazzz's diary
  • Scheduling Priorities - Win32 apps

    babydaemons
    babydaemons 2017/11/01
    プロセスの優先度とスレッドの優先度の一覧表
  • マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー

    また Linux カーネルの話です。 Linux では fork によるマルチプロセスと、pthread によるマルチスレッドでの並行処理を比較した場合、後者の方がコストが低く高速と言われます。「スレッドはメモリ空間を共有するので、マルチプロセスとは異なりコンテキストスイッチ時にメモリ空間の切り替えを省略できる。切り替えに伴うオーバーヘッドが少ない。」というのが FAQ の答えかと思います。 が「オーバーヘッドが少ない」と一言にいわれても具体的にどういうことなのかがイメージできません。そこで Linux のスレッド周りの実装を見て見ようじゃないか、というのが今回のテーマです。 3分でわかる(?) マルチプロセスとマルチスレッド まずはうんちく。マルチプロセスとマルチスレッドの違いの図。以前に社内で勉強会をしたときに作った資料にちょうど良いのがあったので掲載します。Pthreadsプログラミ

    マルチスレッドのコンテキスト切り替えに伴うコスト - naoyaのはてなダイアリー
    babydaemons
    babydaemons 2017/10/19
    LinuxだとOSSだからこんなに丁寧に解説してくれる人がいるんだよなぁ。。。
  • 1