Warning: Use of undefined constant Flash_Clock_Widget_widget - assumed 'Flash_Clock_Widget_widget' (this will throw an Error in a future version of PHP) in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/flash-clock-widget/flash-clock-widget.php on line 132

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/fs/package.module.fs.php on line 258

Warning: preg_match(): Compilation failed: invalid range in character class at offset 31 in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/package.module.router.php on line 465

Warning: preg_match(): Compilation failed: invalid range in character class at offset 30 in /home/dolgov/blog.outdev.ru/docs/wp-content/plugins/nextgen-gallery/products/photocrati_nextgen/modules/router/package.module.router.php on line 465
Аутсорсинговые разработки » Атоматический запуск процессов в фоне

Атоматический запуск процессов в фоне

Posted on Март 9th, 2010 by AVD

Лучший способ для запуска процессов в фоне в Mac OS X — использование LaunchDaemons и LaunchAgents. Для их конфигурирования применяются простые plist файлы, используемые launchd для запуска процессов. Важное отличие LaunchDaemons в том, что они используются для запуска процессов даже в том случае, если ни один пользователь не вошел в систему.

Общий формат plist файла:

<?xml version=»1.0″ encoding=»UTF-8″?>
<!DOCTYPE plist PUBLIC «-//Apple//DTD PLIST 1.0//EN» «http://www.apple.com/DTDs/PropertyList-1.0.dtd»>
<plist version=»1.0″>
<dict>
  <key>Disabled</key>
  <false/>
  <key>Label</key>
  <string>ID программы</string>
  <key>OnDemand</key>
  <false/>
  <key>Program</key>
  <string>путь к исполняемому файлу</string>
  <key>ProgramArguments</key>
  <array>
    <string>путь к исполняемому файлу</string>
    <string>аргумент #1</string>
    <string>аргумент #2</string>
    <string></string>
  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

На пример, для запуска svnserve замените выделенный жирным шрифтом текст на следущие значения:

ID программы:
  org.tigris.Subversion

путь к исполняемому файлу:
  /usr/bin/svnserve (или ваш путь к svnserve)

агрументы запуска (каждый в отдельной строке и обложенный тэгом ‘string’):
  -d
  —root=путь к корню SVN
  —log-file=путь к лог-файлу

Сохраните полученный файл в «/Library/LaunchDaemons/org.tigris.Subversion.plist».

Теперь мы готовы удостовериться в работоспособности. Если вы уже запустили svnserve ранее, то завершите процесс с использованием Activity Monitor: выделите процесс в списке и нажмите кнопку «Quit Process» в тулбаре. Когда процесс закончится, он исчезнет из списка.

После того, как процесс закроется, переключитесь в Terminal и выполните следущую команду:

sudo launchctl load /Library/LaunchDaemons/org.tigris.Subversion.plist

Введите пароль администратора. Если все прошло успешно, вам будет предложено ввести новую команду.

Для проверки того что процесс загеристрирован в launchd, можно вывести список всех зарегистрированных процессов с помощью следущей команды:

sudo launchctl list

В списке должен быть элемент с именем org.tigris.Subversion.

Перезагрузите систему и проверьте, что svnserve запустился автоматически,

Categories: Общее


Warning: count(): Parameter must be an array or an object that implements Countable in /home/dolgov/blog.outdev.ru/docs/wp-includes/class-wp-comment-query.php on line 405