因此,我正在设计一个系统,该系统需要在系统上使用已知名称和路径的应用程序才能按需运行。要运行的应用程序将是一个基于文本的应用程序,可以通过调用轻松运行system("./xxx")
但这是我的担忧,有没有更好的方法来使用 Objective-C 呢?例如,要在进程运行后获取有关进程的其他信息,并可能终止它或对其计时?
我可以使用哪些类和想法比仅调用该系统函数更好?
因此,我正在设计一个系统,该系统需要在系统上使用已知名称和路径的应用程序才能按需运行。要运行的应用程序将是一个基于文本的应用程序,可以通过调用轻松运行system("./xxx")
但这是我的担忧,有没有更好的方法来使用 Objective-C 呢?例如,要在进程运行后获取有关进程的其他信息,并可能终止它或对其计时?
我可以使用哪些类和想法比仅调用该系统函数更好?
请参阅NSTask。
不过,如果您需要做任何 IPC,我建议您使用XPC服务。
如果您想为任务计时,请执行以下操作:
NSDate *startDate = [NSDate date];
... run the task ...
NSDate *endDate = [NSDate date];
然后你可以做一些日期数学(使用 NSDate 上的方法)来计算经过的时间。实际上,用 s 做这件事NSTimeInterval
更容易;它们只是代表自纪元以来的秒数的浮点数,从后者中减去前者,你就已经过去了。
当然,如果您在后台运行任务,则需要在 ivars 或其他内容中启动日期/时间间隔。