У меня есть сценарий оболочки следующим образом
#!/bin/sh
screen -d -m -S script1 /usr/bin/ruby script1.rb; true
screen -d -m -S script2 /usr/bin/ruby script2.rb; true
screen -d -m -S script3 /usr/bin/ruby script3.rb; true
screen -d -m -S script4 /usr/bin/ruby script4.rb; true
screen -d -m -S script5 /usr/bin/ruby script5.rb; true
screen -d -m -S script6 /usr/bin/ruby script6.rb; true
screen -d -m -S script7 /usr/bin/ruby script7.rb; true
screen -d -m -S script8 /usr/bin/ruby script8.rb; true
screen -d -m -S script9 /usr/bin/ruby script9.rb; true
Независимо от того, какой сценарий будет запущен первым, будут запущены только первые восемь сценариев. Как я могу решить эту проблему?
возможно, было бы проще использовать что-то вроде следующего шаблона в .screenrc
# define a bigger scrollback, default is 100 lines
defscrollback 10240
nethack on
startup_message off
hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "
altscreen on
screen bash
title "receiver"
screen bash
title "serv1"
screen bash
title "serv2 "
вы можете где-нибудь сохранить этот шаблон screenrc и запустить его как screen -c your_path
Вероятно, у вас заканчиваются псевдо-терминалы. Что там написано, если вы запустите первые 8 скриптов, а затем просто наберете «screen» (чтобы вы могли видеть любые ошибки)?
Что это за ОС? Распределение псевдо-tty для каждого из них немного отличается, но если вы введете в Google запрос «выделение псевдо-tty для linux (что угодно)», оно, вероятно, появится.