この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Process クラス

 

公開日: 2016年10月

ローカル プロセスとリモート プロセスにアクセスできるようにして、ローカル システム プロセスの起動と中断ができるようにします。

この型の .NET Framework ソース コードを参照するには、参照ソースをご覧ください。

名前空間:   System.Diagnostics
アセンブリ:  System (System.dll 内)

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Diagnostics.Process

[PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust")]
[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true, 
	Synchronization = true, ExternalProcessMgmt = true, SelfAffectingProcessMgmt = true)]
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public class Process : Component

名前説明
System_CAPS_pubmethodProcess()

Process クラスの新しいインスタンスを初期化します。

名前説明
System_CAPS_pubpropertyBasePriority

関連付けられたプロセスの基本優先順位を取得します。

System_CAPS_protpropertyCanRaiseEvents

コンポーネントがイベントを発生させることができるかどうかを示す値を取得します。(Component から継承されます。)

System_CAPS_pubpropertyContainer

取得、 IContainer を含む、 Componentです。(Component から継承されます。)

System_CAPS_protpropertyDesignMode

示す値を取得するかどうか、 Component デザイン モードになっています。(Component から継承されます。)

System_CAPS_pubpropertyEnableRaisingEvents

プロセスが終了したときに、Exited イベントを発生させるかどうかを取得または設定します。

System_CAPS_protpropertyEvents

これに関連付けられているイベント ハンドラーの一覧を取得 Componentします。(Component から継承されます。)

System_CAPS_pubpropertyExitCode

関連付けられたプロセスが終了したときにプロセスによって指定された値を取得します。

System_CAPS_pubpropertyExitTime

関連付けられたプロセスが終了した時刻を取得します。

System_CAPS_pubpropertyHandle

関連付けられたプロセスのネイティブ ハンドルを取得します。

System_CAPS_pubpropertyHandleCount

プロセスが開いたハンドルの数を取得します。

System_CAPS_pubpropertyHasExited

関連付けられているプロセスが終了したかどうかを示す値を取得します。

System_CAPS_pubpropertyId

関連付けられたプロセスの一意の識別子を取得します。

System_CAPS_pubpropertyMachineName

関連付けられたプロセスを実行しているコンピューターの名前を取得します。

System_CAPS_pubpropertyMainModule

関連付けられたプロセスのメイン モジュールを取得します。

System_CAPS_pubpropertyMainWindowHandle

関連付けられたプロセスのメイン ウィンドウで使用するウィンドウ ハンドルを取得します。

System_CAPS_pubpropertyMainWindowTitle

プロセスのメイン ウィンドウのキャプションを取得します。

System_CAPS_pubpropertyMaxWorkingSet

関連付けられたプロセスに許可されるワーキング セットの最大サイズ (バイト単位) を取得または設定します。

System_CAPS_pubpropertyMinWorkingSet

関連付けられたプロセスに許可されるワーキング セットの最小サイズ (バイト単位) を取得または設定します。

System_CAPS_pubpropertyModules

関連付けられたプロセスに読み込まれたモジュールを取得します。

System_CAPS_pubpropertyNonpagedSystemMemorySize

互換性のために残されています。関連付けられたプロセスに割り当てられたページングされないシステム メモリの量 (バイト単位) を取得します。

System_CAPS_pubpropertyNonpagedSystemMemorySize64

関連付けられたプロセスに割り当てられたページングされないシステム メモリの量 (バイト単位) を取得します。

System_CAPS_pubpropertyPagedMemorySize

互換性のために残されています。関連付けられたプロセスに割り当てられたページ メモリの量 (バイト単位) を取得します。

System_CAPS_pubpropertyPagedMemorySize64

関連付けられたプロセスに割り当てられたページ メモリの量 (バイト単位) を取得します。

System_CAPS_pubpropertyPagedSystemMemorySize

互換性のために残されています。関連付けられたプロセスに割り当てられたページング可能なシステム メモリの量 (バイト単位) を取得します。

System_CAPS_pubpropertyPagedSystemMemorySize64

関連付けられたプロセスに割り当てられたページング可能なシステム メモリの量 (バイト単位) を取得します。

System_CAPS_pubpropertyPeakPagedMemorySize

互換性のために残されています。関連付けられたプロセスによって使用される、仮想メモリ ページング ファイル内のメモリの最大量を取得します (バイト単位)。

System_CAPS_pubpropertyPeakPagedMemorySize64

関連付けられたプロセスによって使用される、仮想メモリ ページング ファイル内のメモリの最大量を取得します (バイト単位)。

System_CAPS_pubpropertyPeakVirtualMemorySize

互換性のために残されています。関連付けられたプロセスによって使用される仮想メモリの最大量を取得します (バイト単位)。

System_CAPS_pubpropertyPeakVirtualMemorySize64

関連付けられたプロセスによって使用される仮想メモリの最大量を取得します (バイト単位)。

System_CAPS_pubpropertyPeakWorkingSet

互換性のために残されています。関連付けられたプロセスのピーク ワーキング セット サイズをバイト単位で取得します。

System_CAPS_pubpropertyPeakWorkingSet64

関連付けられたプロセスによって使用される物理メモリの最大量をバイト数として取得します。

System_CAPS_pubpropertyPriorityBoostEnabled

メイン ウィンドウのフォーカス時に、オペレーティング システムによって関連付けられたプロセスの優先順位を一時的に上げるかどうかを示す値を取得または設定します。

System_CAPS_pubpropertyPriorityClass

関連付けられたプロセスの全体的な優先順位カテゴリを取得または設定します。

System_CAPS_pubpropertyPrivateMemorySize

互換性のために残されています。関連付けられたプロセスに割り当てられたプライベート メモリの量 (バイト単位) を取得します。

System_CAPS_pubpropertyPrivateMemorySize64

関連付けられたプロセスに割り当てられたプライベート メモリの量 (バイト単位) を取得します。

System_CAPS_pubpropertyPrivilegedProcessorTime

このプロセスの特権プロセッサ時間を取得します。

System_CAPS_pubpropertyProcessName

プロセスの名前を取得します。

System_CAPS_pubpropertyProcessorAffinity

このプロセスでのスレッドの実行をスケジュールできるプロセッサを取得または設定します。

System_CAPS_pubpropertyResponding

プロセスのユーザー インターフェイスが応答するかどうかを示す値を取得します。

System_CAPS_pubpropertySafeHandle

このプロセスへのネイティブ ハンドルを取得します。

System_CAPS_pubpropertySessionId

関連付けられたプロセスのターミナル サービス セッション識別子を取得します。

System_CAPS_pubpropertySite

取得または設定、 ISiteComponentです。(Component から継承されます。)

System_CAPS_pubpropertyStandardError

アプリケーションのエラー出力の読み取りに使用されるストリームを取得します。

System_CAPS_pubpropertyStandardInput

アプリケーションの入力の書き込みに使用されるストリームを取得します。

System_CAPS_pubpropertyStandardOutput

アプリケーションのテキスト出力の読み取りに使用されるストリームを取得します。

System_CAPS_pubpropertyStartInfo

ProcessStart メソッドに渡すプロパティを取得または設定します。

System_CAPS_pubpropertyStartTime

関連付けられたプロセスが起動された時刻を取得します。

System_CAPS_pubpropertySynchronizingObject

プロセス終了イベントの結果として発行されるイベント ハンドラー呼び出しをマーシャリングするために使用するオブジェクトを取得または設定します。

System_CAPS_pubpropertyThreads

関連付けられたプロセスで実行されているスレッドのセットを取得します。

System_CAPS_pubpropertyTotalProcessorTime

このプロセスの合計プロセッサ時間を取得します。

System_CAPS_pubpropertyUserProcessorTime

このプロセスのユーザー プロセッサ時間を取得します。

System_CAPS_pubpropertyVirtualMemorySize

互換性のために残されています。プロセスの仮想メモリのサイズ (バイト単位) を取得します。

System_CAPS_pubpropertyVirtualMemorySize64

関連付けられたプロセスに割り当てられた仮想メモリの量 (バイト単位) を取得します。

System_CAPS_pubpropertyWorkingSet

互換性のために残されています。関連付けられたプロセスの物理メモリ使用量 (バイト単位) を取得します。

System_CAPS_pubpropertyWorkingSet64

関連付けられたプロセスに割り当てられた物理メモリの量 (バイト単位) を取得します。

名前説明
System_CAPS_pubmethodBeginErrorReadLine()

アプリケーションのリダイレクトされた StandardError ストリームで、非同期読み取り操作を開始します。

System_CAPS_pubmethodBeginOutputReadLine()

アプリケーションのリダイレクトされた StandardOutput ストリームで、非同期読み取り操作を開始します。

System_CAPS_pubmethodCancelErrorRead()

アプリケーションのリダイレクトされた StandardError ストリームで、非同期読み取り操作を取り消します。

System_CAPS_pubmethodCancelOutputRead()

アプリケーションのリダイレクトされた StandardOutput ストリームで、非同期読み取り操作をキャンセルします。

System_CAPS_pubmethodClose()

このコンポーネントに関連付けられているすべてのリソースを解放します。

System_CAPS_pubmethodCloseMainWindow()

メイン ウィンドウにクローズ メッセージを送信して、ユーザー インターフェイスがあるプロセスを終了します。

System_CAPS_pubmethodCreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要なすべての関連情報を格納しているオブジェクトを作成します。(MarshalByRefObject から継承されます。)

System_CAPS_pubmethodDispose()

Component によって使用されているすべてのリソースを解放します。(Component から継承されます。)

System_CAPS_protmethodDispose(Boolean)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このプロセスによって使用されているすべてのリソースを解放します。(Component.Dispose(Boolean) をオーバーライドします。)

System_CAPS_pubmethodSystem_CAPS_staticEnterDebugMode()

現在のスレッドのネイティブ プロパティ SeDebugPrivilege を有効にすることにより、Process コンポーネントを、特殊なモードで実行されているオペレーティング システム プロセスと対話する状態にします。

System_CAPS_pubmethodEquals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。(Object から継承されます。)

System_CAPS_protmethodFinalize()

Component がガベージ コレクションによって回収される前に、アンマネージ リソースを解放し、その他のクリーンアップ操作を実行します。(Component から継承されます。)

System_CAPS_pubmethodSystem_CAPS_staticGetCurrentProcess()

新しい Process コンポーネントを取得し、現在アクティブなプロセスに関連付けます。

System_CAPS_pubmethodGetHashCode()

既定のハッシュ関数として機能します。(Object から継承されます。)

System_CAPS_pubmethodGetLifetimeService()

このインスタンスの有効期間ポリシーを制御する現在の有効期間サービス オブジェクトを取得します。(MarshalByRefObject から継承されます。)

System_CAPS_pubmethodSystem_CAPS_staticGetProcessById(Int32)

ローカル コンピューター上のプロセス ID が指定された新しい Process コンポーネントを返します。

System_CAPS_pubmethodSystem_CAPS_staticGetProcessById(Int32, String)

プロセス ID とネットワーク上のコンピューターの名前が指定された新しい Process コンポーネントを返します。

System_CAPS_pubmethodSystem_CAPS_staticGetProcesses()

ローカル コンピューター上の各プロセス リソースごとに新しい Process コンポーネントを作成します。

System_CAPS_pubmethodSystem_CAPS_staticGetProcesses(String)

指定したコンピューター上の各プロセス リソースごとに新しい Process コンポーネントを作成します。

System_CAPS_pubmethodSystem_CAPS_staticGetProcessesByName(String)

新しい Process コンポーネントの配列を作成し、指定したプロセス名を共有するローカル コンピューター上のすべてのプロセス リソースに関連付けます。

System_CAPS_pubmethodSystem_CAPS_staticGetProcessesByName(String, String)

新しい Process コンポーネントの配列を作成し、指定したプロセス名を共有するリモート コンピューター上のすべてのプロセス リソースに関連付けます。

System_CAPS_protmethodGetService(Type)

Component またはその Container で提供されるサービスを表すオブジェクトを返します。(Component から継承されます。)

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されます。)

System_CAPS_pubmethodInitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。(MarshalByRefObject から継承されます。)

System_CAPS_pubmethodKill()

関連付けられたプロセスを即時中断します。

System_CAPS_pubmethodSystem_CAPS_staticLeaveDebugMode()

Process コンポーネントを、特殊なモードで実行されているオペレーティング システム プロセスと対話する状態から解放します。

System_CAPS_protmethodMemberwiseClone()

現在の Object の簡易コピーを作成します。(Object から継承されます。)

System_CAPS_protmethodMemberwiseClone(Boolean)

現在の簡易コピーを作成MarshalByRefObjectオブジェクト。(MarshalByRefObject から継承されます。)

System_CAPS_protmethodOnExited()

Exited イベントを発生させます。

System_CAPS_pubmethodRefresh()

プロセス コンポーネントにキャッシュされている関連付けられたプロセスに関するすべての情報を破棄します。

System_CAPS_pubmethodStart()

この Process コンポーネントの StartInfo プロパティで指定されたプロセス リソースを起動 (または再利用) し、コンポーネントに関連付けます。

System_CAPS_pubmethodSystem_CAPS_staticStart(ProcessStartInfo)

プロセス起動情報 (起動するプロセスのファイル名など) が格納されているパラメーターで指定されたプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。

System_CAPS_pubmethodSystem_CAPS_staticStart(String)

文書またはアプリケーション ファイルの名前を指定してプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。

System_CAPS_pubmethodSystem_CAPS_staticStart(String, String)

アプリケーションの名前とコマンド ライン引数のセットを指定してプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。

System_CAPS_pubmethodSystem_CAPS_staticStart(String, String, SecureString, String)

アプリケーションの名前、ユーザー名、パスワード、ドメインを指定してプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。

System_CAPS_pubmethodSystem_CAPS_staticStart(String, String, String, SecureString, String)

アプリケーションの名前、コマンド ライン引数のセット、ユーザー名、パスワード、およびドメインを指定してプロセス リソースを起動し、リソースを新しい Process コンポーネントに関連付けます。

System_CAPS_pubmethodToString()

プロセス名の書式指定は文字列にします。親コンポーネント型があれば、この型と組み合わせます。(Component.ToString() をオーバーライドします。)

System_CAPS_pubmethodWaitForExit()

関連付けられたプロセスが終了するまで無期限に待機するように Process コンポーネントに指示します。

System_CAPS_pubmethodWaitForExit(Int32)

関連付けられたプロセスが終了するまで、最大で指定したミリ秒間待機するように Process コンポーネントに指示します。

System_CAPS_pubmethodWaitForInputIdle()

関連付けられたプロセスがアイドル状態になるまで、Process コンポーネントを無期限に待機させます。 このオーバーロードは、ユーザー インターフェイスとメッセージ ループを持つプロセスにだけ適用されます。

System_CAPS_pubmethodWaitForInputIdle(Int32)

関連付けられたプロセスがアイドル状態になるまで、最大で指定したミリ秒間、Process コンポーネントを待機させます。 このオーバーロードは、ユーザー インターフェイスとメッセージ ループを持つプロセスにだけ適用されます。

名前説明
System_CAPS_pubeventDisposed

呼び出しによってコンポーネントが破棄されるときに発生、 Dispose メソッドです。(Component から継承されます。)

System_CAPS_pubeventErrorDataReceived

アプリケーションがリダイレクトされた StandardError ストリームに書き込む場合に発生します。

System_CAPS_pubeventExited

プロセスが終了したときに発生します。

System_CAPS_pubeventOutputDataReceived

アプリケーションが、リダイレクトされた StandardOutput ストリームに行を書き込む度に発生します。

System_CAPS_noteメモ

To view the .NET Framework source code for this type, see the Reference Sourcehttp://referencesource.microsoft.com/#System/services/monitoring/system/diagnosticts/Process.cs#f8b2e604d6f1fe04. You can browse through the source code online, download the reference for offline viewing, and step through the sources (including patches and updates) during debugging; see instructionshttp://referencesource.microsoft.com/.

A T:System.Diagnostics.Process component provides access to a process that is running on a computer. A process, in the simplest terms, is a running app. A thread is the basic unit to which the operating system allocates processor time. A thread can execute any part of the code of the process, including parts currently being executed by another thread.

The T:System.Diagnostics.Process component is a useful tool for starting, stopping, controlling, and monitoring apps. You can use the T:System.Diagnostics.Process component, to obtain a list of the processes that are running, or you can start a new process. A T:System.Diagnostics.Process component is used to access system processes. After a T:System.Diagnostics.Process component has been initialized, it can be used to obtain information about the running process. Such information includes the set of threads, the loaded modules (.dll and .exe files), and performance information such as the amount of memory the process is using.

This type implements the T:System.IDisposable interface. When you have finished using the type, you should dispose of it either directly or indirectly. To dispose of the type directly, call its M:System.IDisposable.Dispose method in a try/catch block. To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). For more information, see the “Using an Object that Implements IDisposable” section in the T:System.IDisposable interface topic.

System_CAPS_noteメモ

32-bit processes cannot access the modules of a 64-bit process. If you try to get information about a 64-bit process from a 32-bit process, you will get a T:System.ComponentModel.Win32Exception exception. A 64-bit process, on the other hand, can access the modules of a 32-bit process.

The process component obtains information about a group of properties all at once. After the T:System.Diagnostics.Process component has obtained information about one member of any group, it will cache the values for the other properties in that group and not obtain new information about the other members of the group until you call the M:System.Diagnostics.Process.Refresh method. Therefore, a property value is not guaranteed to be any newer than the last call to the M:System.Diagnostics.Process.Refresh method. The group breakdowns are operating-system dependent.

If you have a path variable declared in your system using quotes, you must fully qualify that path when starting any process found in that location. Otherwise, the system will not find the path. For example, if c:\mypath is not in your path, and you add it using quotation marks: path = %path%;"c:\mypath", you must fully qualify any process in c:\mypath when starting it.

A system process is uniquely identified on the system by its process identifier. Like many Windows resources, a process is also identified by its handle, which might not be unique on the computer. A handle is the generic term for an identifier of a resource. The operating system persists the process handle, which is accessed through the P:System.Diagnostics.Process.Handle property of the T:System.Diagnostics.Process component, even when the process has exited. Thus, you can get the process's administrative information, such as the P:System.Diagnostics.Process.ExitCode (usually either zero for success or a nonzero error code) and the P:System.Diagnostics.Process.ExitTime. Handles are an extremely valuable resource, so leaking handles is more virulent than leaking memory.

System_CAPS_noteメモ

This class contains a link demand and an inheritance demand at the class level that applies to all members. A T:System.Security.SecurityException is thrown when either the immediate caller or the derived class does not have full-trust permission. For details about security demands, see Link Demands.

In the .NET Framework on the desktop, the T:System.Diagnostics.Process class by default uses T:System.Console encodings, which are typically code page encodings, for the input, output, and error streams. For example code, on systems whose culture is English (United States), code page 437 is the default encoding for the T:System.Console class. However, net_core may make only a limited subset of these encodings available. If this is the case, it uses P:System.Text.Encoding.UTF8 as the default encoding.

If a T:System.Diagnostics.Process object depends on specific code page encodings, you can still make them available by doing the following before you call any T:System.Diagnostics.Process methods:

  1. Add a reference to the System.Text.Encoding.CodePages.dll assembly to your project.

  2. Retrieve the T:System.Text.EncodingProvider object from the P:System.Text.CodePagesEncodingProvider.Instance property.

  3. Pass the T:System.Text.EncodingProvider object to the M:System.Text.Encoding.RegisterProvider(System.Text.EncodingProvider) method to make the additional encodings supported by the encoding provider available.

The T:System.Diagnostics.Process class will then automatically use the default system encoding rather than UTF8, provided that you have registered the encoding provider before calling any T:System.Diagnostics.Process methods.

The following example uses an instance of the T:System.Diagnostics.Process class to start a process.

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        public static void Main()
        {
            Process myProcess = new Process();

            try
            {
                myProcess.StartInfo.UseShellExecute = false;
                // You can start any process, HelloWorld is a do-nothing example.
                myProcess.StartInfo.FileName = "C:\\HelloWorld.exe";
                myProcess.StartInfo.CreateNoWindow = true;
                myProcess.Start();
                // This code assumes the process you are starting will terminate itself. 
                // Given that is is started without a window so you cannot terminate it 
                // on the desktop, it must terminate itself or you can do it programmatically
                // from this application using the Kill method.
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}

The following example uses the T:System.Diagnostics.Process class itself and a static M:System.Diagnostics.Process.Start method to start a process.

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        // Opens the Internet Explorer application.
        void OpenApplication(string myFavoritesPath)
        {
            // Start Internet Explorer. Defaults to the home page.
            Process.Start("IExplore.exe");

            // Display the contents of the favorites folder in the browser.
            Process.Start(myFavoritesPath);
        }

        // Opens urls and .html documents using Internet Explorer.
        void OpenWithArguments()
        {
            // url's are not considered documents. They can only be opened
            // by passing them as arguments.
            Process.Start("IExplore.exe", "www.northwindtraders.com");

            // Start a Web page using a browser associated with .html and .asp files.
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm");
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.asp");
        }

        // Uses the ProcessStartInfo class to start new processes,
        // both in a minimized mode.
        void OpenWithStartInfo()
        {
            ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
            startInfo.WindowStyle = ProcessWindowStyle.Minimized;

            Process.Start(startInfo);

            startInfo.Arguments = "www.northwindtraders.com";

            Process.Start(startInfo);
        }

        static void Main()
        {
            // Get the path that stores favorite links.
            string myFavoritesPath =
                Environment.GetFolderPath(Environment.SpecialFolder.Favorites);

            MyProcess myProcess = new MyProcess();

            myProcess.OpenApplication(myFavoritesPath);
            myProcess.OpenWithArguments();
            myProcess.OpenWithStartInfo();
        }
    }
}

The following F# example defines a runProc function that starts a process, captures all output and error information, and records the number of milliseconds that the process has run. The runProc function has three parameters: the name of application to launch, the arguments to supply to the application, and the starting directory.

open System
open System.Diagnostics

let runProc filename args startDir : seq<string> * seq<string> = 
    let timer = Stopwatch.StartNew()
    let procStartInfo = 
        ProcessStartInfo(
            RedirectStandardOutput = true,
            RedirectStandardError = true,
            UseShellExecute = false,
            FileName = filename,
            Arguments = args
        )
    match startDir with | Some d -> procStartInfo.WorkingDirectory <- d | _ -> ()

    let outputs = System.Collections.Generic.List<string>()
    let errors = System.Collections.Generic.List<string>()
    let outputHandler f (_sender:obj) (args:DataReceivedEventArgs) = f args.Data
    use p = new Process(StartInfo = procStartInfo)
    p.OutputDataReceived.AddHandler(DataReceivedEventHandler (outputHandler outputs.Add))
    p.ErrorDataReceived.AddHandler(DataReceivedEventHandler (outputHandler errors.Add))
    let started = 
        try
            p.Start()
        with | ex ->
            ex.Data.Add("filename", filename)
            reraise()
    if not started then
        failwithf "Failed to start process %s" filename
    printfn "Started %s with pid %i" p.ProcessName p.Id
    p.BeginOutputReadLine()
    p.BeginErrorReadLine()
    p.WaitForExit()
    timer.Stop()
    printfn "Finished %s after %A milliseconds" filename timer.ElapsedMilliseconds
    let cleanOut l = l |> Seq.filter (fun o -> String.IsNullOrEmpty o |> not)
    cleanOut outputs,cleanOut errors

The code for the runProc function was written by ImaginaryDevelopmenthttp://fssnip.net/authors/ImaginaryDevelopment and is available under the Microsoft Public Licensehttp://opensource.org/licenses/ms-pl.

LinkDemand

for full trust for the immediate caller. This class cannot be used by partially trusted code.

InheritanceDemand

for full trust for inheritors. This class cannot be inherited by partially trusted code.

.NET Framework
1.1 以降で使用可能

この型のパブリック static (Visual Basic では Shared ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

トップに戻る
表示: