Как начать новый сеанс в сценарии оболочки на платформах, отличных от Linux? - PullRequest
1 голос
/ 27 февраля 2012

У меня есть проблема: у меня есть сценарий A, и он вызывает другой сценарий B, но этот сценарий B должен выполняться в другом сеансе, это легко сделать в программе на C с setsid (), но я не могунайти эквивалентную команду оболочки.В Linux есть команда shell setid, но в AIX и других платформах UNIX таких команд нет.Кто-нибудь может дать мне несколько советов о том, как сделать это в AIX и других платформах UNIX?Спасибо.

1 Ответ

1 голос
/ 27 февраля 2012

Системный вызов setsid () существует во FreeBSD и OpenSolaris и является частью POSIX.1. Так что я бы подумал, что он должен существовать во всем, что претендует на совместимость с POSIX.

AIX полностью соответствует «одному или нескольким» стандартам POSIX, но я никогда не использовал его, поэтому не могу прокомментировать это напрямую. Поскольку это поддерживаемая поставщиком операционная система, я рекомендую вам обратиться к поставщику.

Теперь .. Что вы подразумеваете под "эквивалентной командой оболочки"? Что вы подразумеваете под «сессией» в контексте сценария оболочки? Если вам нужен способ запуска второго сценария оболочки с отдельным управляющим терминалом от исходного сценария, я предлагаю вам взглянуть на Экран GNU вместо системных вызовов. Экран должен быть доступен для AIX.

Если у вас есть сценарий оболочки, который в настоящее время работает для вас в Linux, и вы пытаетесь перенести его на другие платформы, включите сценарий в свой вопрос. В противном случае мы летим вслепую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...