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

提供: MonoBook
< Xamarin.Mac
2016年11月16日 (水) 04:31時点における108.162.226.154 (トーク)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

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()を使うそうだ。

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


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