Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы основы ссылка класса NSTask

Опции
Развертывание Target:

На этой странице
Язык:

NSTask

Используя NSTask класс, Ваша программа может выполнить другую программу как подпроцесс и может контролировать выполнение той программы. NSTask объект создает отдельный исполнимый объект; это отличается от NSThread в этом это не совместно использует пространство памяти с процессом, создающим его.

Задача работает в среде, определенной текущей стоимостью для нескольких элементов: текущий каталог, стандартный ввод, стандартный вывод, стандартная погрешность и значения любых переменных окружения. По умолчанию, NSTask объект наследовал свою среду от процесса, запускающего его. Если существуют какие-либо значения, которые должны отличаться для задачи, например, если текущий каталог должен измениться, необходимо изменить значение перед запуском задачи. Среда задачи не может быть изменена, в то время как она работает.

NSTask один раз может только быть выполнен объект. Последующие попытки выполнить задачу повышают ошибку.

Наследование


Соответствует


Оператор импорта


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.0 и позже.
  • Создает и запускает задачу с указанной исполнимой программой и параметрами.

    Объявление

    Swift

    class func launchedTaskWithLaunchPath(_ path: String, arguments arguments: [AnyObject]) -> NSTask

    Objective C

    + (NSTask *)launchedTaskWithLaunchPath:(NSString *)path arguments:(NSArray *)arguments

    Параметры

    path

    Путь к исполнимой программе.

    arguments

    Массив NSString объекты, который предоставляет параметры задаче. Если arguments nil, NSInvalidArgumentException повышен.

    Обсуждение

    Задача наследовала свою среду от процесса, вызывающего этот метод.

    NSTask объект преобразовывает обоих path и строки в arguments к надлежащим строкам C-стиля (использование fileSystemRepresentation) прежде, чем передать их задаче через argv[]) . Строки в arguments не подвергайтесь расширению оболочки, таким образом, Вы не должны делать специального заключения в кавычки и переменных оболочки, такой как $PWD, не разрешены.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – init

  • init () - init Определяемый инициализатор

    Возвращает инициализированный NSTask объект со средой текущего процесса.

    Объявление

    Swift

    init()

    Objective C

    - (instancetype)init

    Возвращаемое значение

    Инициализированный NSTask объект со средой текущего процесса.

    Обсуждение

    Если необходимо изменить среду задачи, используйте выделение и init, и затем установите среду прежде, чем запустить новую задачу. Иначе, просто используйте метод класса launchedTaskWithLaunchPath:arguments: создать и выполнить задачу.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Когда получатель был запущен, возвращает параметры, используемые.

    Объявление

    Swift

    var arguments: [AnyObject]

    Objective C

    @property(copy) NSArray *arguments

    Возвращаемое значение

    Массив NSString когда получатель был запущен, объекты, содержащие параметры, использовали.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – setArguments:

  • Возвращает текущий каталог задачи.

    Объявление

    Swift

    var currentDirectoryPath: String

    Objective C

    @property(copy) NSString *currentDirectoryPath

    Возвращаемое значение

    Текущий рабочий каталог задачи.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает словарь переменных для среды, от которой был запущен получатель.

    Объявление

    Swift

    var environment: [NSObject : AnyObject]

    Objective C

    @property(copy) NSDictionary *environment

    Возвращаемое значение

    Словарь переменных для среды, от которой был запущен получатель. Ключи словаря являются именами переменной окружения.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – setEnvironment:
    environment (NSProcessInfo)

  • Возвращает путь исполнимой программы получателя.

    Объявление

    Swift

    var launchPath: String

    Objective C

    @property(copy) NSString *launchPath

    Возвращаемое значение

    Путь исполнимой программы получателя.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает идентификатор процесса получателя.

    Объявление

    Swift

    var processIdentifier: Int32 { get }

    Objective C

    @property(readonly) int processIdentifier

    Возвращаемое значение

    Идентификатор процесса получателя.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает файл стандартной погрешности, используемый получателем.

    Объявление

    Swift

    var standardError: AnyObject

    Objective C

    @property(retain) id standardError

    Возвращаемое значение

    Файл стандартной погрешности используется получателем.

    Обсуждение

    Стандартная погрешность - то, куда отправляются все сообщения диагностики. Объект возвратился, любой NSFileHandle или NSPipe экземпляр, в зависимости от того, какой объект был передан setStandardError:.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – setStandardError:

  • Возвращает стандартный входной файл, используемый получателем.

    Объявление

    Swift

    var standardInput: AnyObject

    Objective C

    @property(retain) id standardInput

    Возвращаемое значение

    Стандартный входной файл используется получателем.

    Обсуждение

    Стандартный ввод состоит в том, где получатель берет свой ввод от если не указано иное. Объект возвратился, любой NSFileHandle или NSPipe экземпляр, в зависимости от того, какой объект был передан setStandardInput: метод.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – setStandardInput:

  • Возвращает файл стандартного вывода, используемый получателем.

    Объявление

    Swift

    var standardOutput: AnyObject

    Objective C

    @property(retain) id standardOutput

    Возвращаемое значение

    Файл стандартного вывода используется получателем.

    Обсуждение

    Стандартный вывод - то, где получатель выводит на экран свой вывод. Объект возвратился, любой NSFileHandle или NSPipe экземпляр, в зависимости от того, какой объект был передан setStandardOutput: метод.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – setStandardOutput:

  • Отправляет сигнал прерывания в получатель и все его подзадачи.

    Объявление

    Swift

    func interrupt()

    Objective C

    - (void)interrupt

    Обсуждение

    Если задача завершается в результате, который является поведением по умолчанию, NSTaskDidTerminateNotification отправляется центру уведомления по умолчанию. Если получатель был уже запущен и уже закончил выполняться, этот метод не имеет никакого эффекта. Если получатель еще не был запущен, этот метод повышает NSInvalidArgumentException.

    Не всегда возможно прервать получатель, потому что это могло бы игнорировать сигнал прерывания. interrupt отправляет SIGINT.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Запускает задачу, представленную получателем.

    Объявление

    Swift

    func launch()

    Objective C

    - (void)launch

    Обсуждение

    Повышения NSInvalidArgumentException если путь запуска не был установлен или недопустим или если ему не удается создать процесс.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Выполнение резюме задачи получателя, ранее приостановленной с a suspend сообщение.

    Объявление

    Swift

    func resume() -> Bool

    Objective C

    - (BOOL)resume

    Возвращаемое значение

    YEStrue если получатель смог возобновить выполнение, NOfalse иначе.

    Обсуждение

    Если многократный suspend сообщения были отправлены в получатель, равное количество resume сообщения должны быть отправлены перед выполнением резюме задачи.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Приостанавливает выполнение задачи получателя.

    Объявление

    Swift

    func suspend() -> Bool

    Objective C

    - (BOOL)suspend

    Возвращаемое значение

    YEStrue если получатель был успешно приостановлен, NOfalse иначе.

    Обсуждение

    Многократный suspend сообщения могут быть отправлены, но они должны быть сбалансированы с равного количества resume сообщения перед задачей возобновляют выполнение.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Отправляет оконечный сигнал в получатель и все его подзадачи.

    Объявление

    Swift

    func terminate()

    Objective C

    - (void)terminate

    Обсуждение

    Если задача завершается в результате, который является поведением по умолчанию, NSTaskDidTerminateNotification отправляется центру уведомления по умолчанию. Если получатель был уже запущен и уже закончил выполняться, этот метод не имеет никакого эффекта. Если получатель еще не был запущен, этот метод повышает NSInvalidArgumentException.

    Не всегда возможно завершить получатель, потому что это могло бы игнорировать оконечный сигнал. terminate отправляет SIGTERM.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Блок, пока не закончен получатель.

    Объявление

    Swift

    func waitUntilExit()

    Objective C

    - (void)waitUntilExit

    Обсуждение

    Этот метод сначала проверяет, чтобы видеть, выполняет ли получатель все еще использование isRunning. Тогда это опрашивает текущее использование цикла выполнения NSDefaultRunLoopMode пока задача не завершается.

    • [aTask launch];
    • [aTask waitUntilExit];
    • int status = [aTask terminationStatus];
    • if (status == ATASK_SUCCESS_VALUE)
    • NSLog(@"Task succeeded.");
    • else
    • NSLog(@"Task failed.");

    waitUntilExit не гарантирует что terminationHandler блок был полностью выполнен прежде waitUntilExit возвраты.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • isRunning - isRunning Доступный в OS X v10.0 через OS X v10.9

    Возвраты, работает ли все еще получатель.

    Объявление

    Objective C

    - (BOOL)isRunning

    Возвращаемое значение

    YEStrue если получатель все еще работает, иначе NOfalse. NOfalse средние значения или получатель не могли работать, или он завершился.

    Оператор импорта

    Objective C

    @import Foundation;

    Доступность

    Доступный в OS X v10.0 через OS X v10.9.

  • Возвращает статус выхода, возвращенный исполнимой программой получателя.

    Объявление

    Swift

    var terminationStatus: Int32 { get }

    Objective C

    @property(readonly) int terminationStatus

    Возвращаемое значение

    Статус выхода, возвращенный исполнимой программой получателя.

    Обсуждение

    Каждая задача определяет и документы, как должно быть интерпретировано ее возвращаемое значение. Например, много команд возвращаются 0, если они завершаются успешно или код ошибки, если они не делают. Необходимо будет смотреть на документацию для той задачи изучить то, что оценивает его возвраты при каких обстоятельствах.

    Этот метод повышает NSInvalidArgumentException если все еще работает получатель. Проверьте, что получатель не работает перед использованием его.

    • if (![aTask isRunning]) {
    • int status = [aTask terminationStatus];
    • if (status == ATASK_SUCCESS_VALUE)
    • NSLog(@"Task succeeded.");
    • else
    • NSLog(@"Task failed.");
    • }

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает причину, задача была завершена.

    Объявление

    Swift

    var terminationReason: NSTaskTerminationReason { get }

    Objective C

    @property(readonly) NSTaskTerminationReason terminationReason

    Возвращаемое значение

    Состояние завершения. Возможные значения описаны в НСТЭСКТЕРМИНЭЙШНРИСОНЕ.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.6 и позже.

  • Устанавливает аргументы команды, которые должны использоваться для запуска исполнимой программы.

    Объявление

    Swift

    var arguments: [AnyObject]

    Objective C

    @property(copy) NSArray *arguments

    Параметры

    arguments

    Массив NSString объекты, который предоставляет параметры задаче. Если arguments nil, NSInvalidArgumentException повышен.

    Обсуждение

    NSTask объект преобразовывает обоих path и строки в arguments к надлежащим строкам C-стиля (использование fileSystemRepresentation) прежде, чем передать их задаче через argv[] . Строки в arguments не подвергайтесь расширению оболочки, таким образом, Вы не должны делать специального заключения в кавычки и переменных оболочки, такой как $PWD, не разрешены.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – параметры

  • Устанавливает текущий каталог для получателя.

    Объявление

    Swift

    var currentDirectoryPath: String

    Objective C

    @property(copy) NSString *currentDirectoryPath

    Параметры

    path

    Текущий каталог для задачи.

    Обсуждение

    Если этот метод не используется, текущий каталог наследован от процесса, создавшего получатель. Этот метод повышает NSInvalidArgumentException если был уже запущен получатель.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – currentDirectoryPath

  • Устанавливает среду для получателя.

    Объявление

    Swift

    var environment: [NSObject : AnyObject]

    Objective C

    @property(copy) NSDictionary *environment

    Параметры

    environmentDictionary

    Словарь переменной окружения оценивает, чьи ключи являются именами переменной.

    Обсуждение

    Если этот метод не используется, среда наследована от процесса, создавшего получатель. Этот метод повышает NSInvalidArgumentException если был уже запущен получатель.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – среда

  • Устанавливает исполнимую программу получателя.

    Объявление

    Swift

    var launchPath: String

    Objective C

    @property(copy) NSString *launchPath

    Параметры

    path

    Путь к исполнимой программе.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – launchPath

  • Устанавливает стандартную погрешность для получателя.

    Объявление

    Swift

    var standardError: AnyObject

    Objective C

    @property(retain) id standardError

    Параметры

    file

    Стандартная погрешность для получателя, который может быть любой NSFileHandle или NSPipe объект.

    Обсуждение

    Если file NSPipe объект, запуская получатель автоматически закрывает конец записи канала в текущей задаче. Не создавайте дескриптор для канала и передачи, что, поскольку параметр или конец записи канала не будет закрыт автоматически.

    Если этот метод не используется, стандартная погрешность наследована от процесса, создавшего получатель. Этот метод повышает NSInvalidArgumentException если был уже запущен получатель.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – standardError

  • Устанавливает стандартный ввод для получателя.

    Объявление

    Swift

    var standardInput: AnyObject

    Objective C

    @property(retain) id standardInput

    Параметры

    file

    Стандартный ввод для получателя, который может быть любой NSFileHandle или NSPipe объект.

    Обсуждение

    Если file NSPipe объект, запуская получатель автоматически закрывает конец чтения канала в текущей задаче. Не создавайте дескриптор для канала и передачи, что, поскольку параметр или конец чтения канала не будет закрыт автоматически.

    Если этот метод не используется, стандартный ввод наследован от процесса, создавшего получатель. Этот метод повышает NSInvalidArgumentException если был уже запущен получатель.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – standardInput

  • Устанавливает стандартный вывод для получателя.

    Объявление

    Swift

    var standardOutput: AnyObject

    Objective C

    @property(retain) id standardOutput

    Параметры

    file

    Стандартный вывод для получателя, который может быть любой NSFileHandle или NSPipe объект.

    Обсуждение

    Если file NSPipe объект, запуская получатель автоматически закрывает конец записи канала в текущей задаче. Не создавайте дескриптор для канала и передачи, что, поскольку параметр или конец записи канала не будет закрыт автоматически.

    Если этот метод не используется, стандартный вывод наследован от процесса, создавшего получатель. Этот метод повышает NSInvalidArgumentException если был уже запущен получатель.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – standardOutput

  • Вызванный, когда выполнена задача.

    Объявление

    Swift

    var terminationHandler: ((NSTask!) -> Void)?

    Objective C

    @property(copy) void (^terminationHandler)( NSTask *)

    Обсуждение

    Когда задача завершилась, блок завершения вызывается. Объект задачи передается блоку, чтобы предоставить доступ к параметрам задачи, например определить, завершилась ли задача успешно.

    Этот блок, как гарантируют, не будет полностью выполнен до waitUntilExit возврат.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Эти константы указывают значения, возвращающиеся terminationReason.

    Объявление

    Swift

    enum NSTaskTerminationReason : Int { case Exit case UncaughtSignal }

    Objective C

    enum { NSTaskTerminationReasonExit = 1, NSTaskTerminationReasonUncaughtSignal = 2 }; typedef NSInteger NSTaskTerminationReason;

    Константы

    • Exit

      NSTaskTerminationReasonExit

      Задача обычно выходила.

      Доступный в OS X v10.6 и позже.

    • UncaughtSignal

      NSTaskTerminationReasonUncaughtSignal

      Задача вышла вследствие непойманного сигнала.

      Доступный в OS X v10.6 и позже.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.6 и позже.

  • Отправленный, когда задача остановила выполнение. Когда задача обычно выходила или в результате, это уведомление может быть отправлено или terminate быть отправленным в NSTask объект. Если NSTask объект выпущен, однако, это уведомление не будет отправлено, поскольку порт, сообщение было бы переслано, был выпущен как часть выпуска задачи. Метод наблюдателя может использовать terminationStatus определить, почему умерла задача. Посмотрите Окончание NSTask для примера.

    Объект уведомления NSTask завершенный объект. Это уведомление не содержит a userInfo словарь.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.