Xamarin.Mac/実行中のプロセス一覧を取得する

提供: MonoBook
ナビゲーションに移動 検索に移動

macOSでプロセス監視のシステムを作ろうと思ったわけだ。

実装1[編集 | ソースを編集]

実行中のプロセス一覧はNSWorkspace.SharedWorkspace.RunningApplicationsプロパティで簡単に取得できた。

using System;
using System.Collections.Generic;
using System.Linq;
using Foundation;
using AppKit;

namespace ProcessList
{
    static class MainClass
    {
        static void Main(string[] args)
        {
            NSApplication.Init();
            // ウインドウ不要なのでメッセージポンプは止める
            //NSApplication.Main(args);

            foreach (var app in NSWorkspace.SharedWorkspace.RunningApplications)
            {
                Console.WriteLine(app.BundleUrl);
            }
        }
    }
}

実装2[編集 | ソースを編集]

もっと低レベルに取得する場合はGetBSDProcessList()を使うそうだ。

関連項目[編集 | ソースを編集]


参考文献[編集 | ソースを編集]