LINUX.ORG.RU

Как узнать, что программа запущена через screen

 , , ,


1

2

Можно ли изнутри программы узнать, что она запущена другой программой? В частности, можно ли узнать, что моя консольная прога на ruby запущена с помощью screen? В принципе я готов это как-то и в sh/bash-скрипте выяснять. Главно, принцип понять.

Слыхал, что когда проги в линуксе колбаской друг друга запускают, они делают это через process.fork(cmd) или типа того. Может как-то эту форковую «колбаску» можно вычислить?

★★★★★

Последнее исправление: Novator (всего исправлений: 1)

возможо (если специально не менялось) TERM=screen

anonymous
()
Ответ на: комментарий от xaizek

Хе-хе, запилил аж тремя методами, всем спасибо:

if $screen_mode or ENV['STY'] or (ENV['TERM']=='screen')
  stdscr.addstr(' | Ctrl+A,D')
end

Флаг $screen_mode включается через параметр командной строки, который передаёт запускающий shell-скрипт, если запускает прогу через screen.

Novator ★★★★★
() автор топика
Ответ на: комментарий от Novator

параметр командной строки, который передаёт запускающий shell-скрипт, если запускает прогу через screen.

Это лишнее.

legolegs ★★★★★
()

Действие второе: те же и tmux.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.