NSProcessInfoクラス
解説
プロセス情報
- 出版社/メーカー: フマキラー
- 発売日: 2012/11/13
- メディア: ヘルスケア&ケア用品
- クリック: 6回
- この商品を含むブログを見る
継承 | NSObject |
準拠 | NSObject (NSObject) |
フレームワーク | /System/Library/Frameworks/Foundation.framework |
使用可能 | OS X 10.0以降 |
iOS 2.0以降 | |
定義 | NSProcessInfo.h |
概要
アプリケーションの情報を取得することができます。各プロセスはプロセス情報エージェントと呼ばれる、一つのオブジェクトを持っています。そのエージェントにメッセージを送信することで各種のプロセス情報を得ることができます。
プロセス情報エージェントを得る
プロセス情報オブジェクトを得るには(+ processInfo)メソッドを使用します。
プロセス情報にアクセス
プロセス名を得るには(– processName)メソッドを使用します。
プロセスのコマンドライン引数を得るには(– arguments)メソッドを使用します。
プロセスの環境変数を得るには(– environment)メソッドを使用します。
プロセスのプロセスIDを得るには(– processIdentifier)メソッドを使用します。
プロセスのグローバルIDを得るには(– globallyUniqueString)メソッドを使用します。
プロセス名を変更できるメソッド(– setProcessName)がありますがユーザーデフォルトなどで問題を起こす可能性があるので注意が必要です。
ホストの情報を得る
ホスト名を得るには(– hostName)メソッドを使用します。OSを得るには(– operatingSystem)メソッドを使用し、OS名を文字列で得るには(– operatingSystemName)メソッドを使用します。
ホスト名は satochan11.local のような文字列、iOSではOSはNSMACHOperatingSystemと返されます。
OSのバージョン番号を文字列で得るには(– operatingSystemVersionString)メソッドを使用します。
コンピューターの情報を得る
物理メモリ量を得るには(– physicalMemory)メソッドを使用します。手元のiPhone4では約504MB、iPad (3rd)では987MBと返ってきました。
プロセッサ数を得るには(– processorCount)メソッドを使用します。iPhone4では1、iPad(3rd)では2と返ってきました。シミュレータでは…4と返ってきますね。
稼働中のプロセッサ数を得るには(– activeProcessorCount)メソッドを使用します。システムの稼働時間を得るには(– systemUptime)メソッドを使用します。
いろいろ情報を取得する
#pragma mark processName -(void)method001 { NSProcessInfo *pInfo = [NSProcessInfo processInfo]; NSString *processName = [pInfo processName]; NSLog(@"%s %@",__FUNCTION__,processName); NSLog(@"%s %@",__FUNCTION__,[pInfo arguments]); NSLog(@"%s %@",__FUNCTION__,[pInfo environment]); NSLog(@"%s %d",__FUNCTION__,[pInfo processIdentifier]); NSLog(@"%s %@",__FUNCTION__,[pInfo globallyUniqueString]); [pInfo setProcessName:@"newName"]; NSLog(@"%s %@",__FUNCTION__,[pInfo processName]); NSLog(@"%s %@",__FUNCTION__,[pInfo hostName]); NSLog(@"%s %u",__FUNCTION__,[pInfo operatingSystem]); NSLog(@"%s %@",__FUNCTION__,[pInfo operatingSystemName]); NSLog(@"%s %@",__FUNCTION__,[pInfo operatingSystemVersionString]); NSLog(@"%s %llu",__FUNCTION__,([pInfo physicalMemory]/1024/1024)); NSLog(@"%s %u",__FUNCTION__,[pInfo processorCount]); NSLog(@"%s %u",__FUNCTION__,[pInfo activeProcessorCount]); NSLog(@"%s %f",__FUNCTION__,[pInfo systemUptime]); }