Xamarin.Mac/実行中のプロセス一覧を取得する
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()を使うそうだ。
関連項目
- MacOS/通知センターの有効無効を切り替える
- Xamarin.Mac/実行中のプロセスを終了させる
- Xamarin.Mac/システムステータスバーにアイコンを表示する
- Xamarin.Mac/Dockアイコンを非表示にする
- MonoMac/外部コマンドを実行する
- Xamarin.Mac/AppleScriptを実行する