запуск программы из bash вызывает bash для перехода к новой подсказке

Когда я запускаю программу с консоли, например.

me@box:~$ firefox

Я ожидаю, что консоль будет записывать сообщения об ошибках (я думаю, что это std out или std err?) и другие элементы из программы, firefox в этом случае.

Но сегодня я замечаю, что bash просто открывает программу и переходит к новому приглашению, например

me@box:~$ firefox
me@box:~$

Как запустить программу из bash, чтобы сообщения об ошибках записывались на консоль?

Почему некоторые программы работают по умолчанию, а другие (firefox) - нет?

3
задан 6 June 2012 в 08:22

8 ответов

Вы правы, что это результат уже запущенного процесса, но если в Firefox нет ошибки, это не должно быть результатом процесса zombie .

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

Вы можете проверить это поведение, запустив первый экземпляр Firefox с URL-адресом в качестве аргумента командной строки (например, firefox http://askubuntu.com/q/147059/22949), а затем создания нового окна / вкладки, снова запустив команду firefox с другим URL-адресом (например, firefox http://www.google.com). Когда вы исследуете запущенные процессы с помощью ps x, вы увидите, что единственный исполняемый экземпляр firefox имеет первый URL-адрес в качестве аргумента командной строки (потому что вторая команда больше не работает).

Часто говорят, что вы не можете запускать более одного экземпляра Firefox за раз. Точнее сказать, что вы не можете запускать более одного экземпляра Firefox за один раз более чем на долю секунды.

Из-за этого поведения, когда вы вызываете второй экземпляр Firefox изнутри оболочки этот экземпляр заканчивается почти сразу, давая вам другое приглашение оболочки, как и любая программа, завершившая выполнение.

Другая широко используемая программа в Ubuntu, которая делает это Nautilus (браузер файлов).

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

Однако, если Firefox завершился, но еще не был удален из таблицы процессов (это то, что значит быть зомби процесс / несуществующий процесс, и я предполагаю, что вы подразумеваете под «призрачным процессом»), очень новый экземпляр Firefox должен уметь распознавать это и действовать так, как будто это единственный запущенный экземпляр Firefox (потому что это так). Если вы обнаружите, что это не происходит, вы должны сообщать об этом в виде ошибки в пакете firefox в Ubuntu (или против Firefox вверх по течению, если вы используете дистрибутив Firefox вверх, а не версию из официальных пакетов Ubuntu).

Я не знаю, сколько усилий вы готовы внести, чтобы выяснить, что происходит, но сбой диспетчера окон (compiz) не должен вызывать Окно Firefox будет скрыто при условии, что compiz снова запущен. Если это произойдет, это ошибка в compiz или firefox.

Если вы можете предоставить вывод ps x | grep -v grep | grep firefox во время возникновения проблемы, т. Е. После обнаружения этого запуска firefox в Терминале немедленно вернется к вашей оболочке - это поможет в устранении этой проблемы. Вы можете отредактировать свой ответ, чтобы включить эту информацию. Вы также должны уточнить, открывается ли новое окно / вкладка Firefox при запуске firefox в терминале или если его запуск в терминале не имеет эффекта.

5
ответ дан 25 July 2018 в 18:38

Вы правы, что это результат уже запущенного процесса, но если в Firefox нет ошибки, это не должно быть результатом процесса zombie .

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

Вы можете проверить это поведение, запустив первый экземпляр Firefox с URL-адресом в качестве аргумента командной строки (например, firefox http://askubuntu.com/q/147059/22949), а затем создания нового окна / вкладки, снова запустив команду firefox с другим URL-адресом (например, firefox http://www.google.com). Когда вы исследуете запущенные процессы с помощью ps x, вы увидите, что единственный исполняемый экземпляр firefox имеет первый URL-адрес в качестве аргумента командной строки (потому что вторая команда больше не работает).

Часто говорят, что вы не можете запускать более одного экземпляра Firefox за раз. Точнее сказать, что вы не можете запускать более одного экземпляра Firefox за один раз более чем на долю секунды.

Из-за этого поведения, когда вы вызываете второй экземпляр Firefox изнутри оболочки этот экземпляр заканчивается почти сразу, давая вам другое приглашение оболочки, как и любая программа, завершившая выполнение.

Другая широко используемая программа в Ubuntu, которая делает это Nautilus (браузер файлов).

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

Однако, если Firefox завершился, но еще не был удален из таблицы процессов (это то, что значит быть зомби процесс / несуществующий процесс, и я предполагаю, что вы подразумеваете под «призрачным процессом»), очень новый экземпляр Firefox должен уметь распознавать это и действовать так, как будто это единственный запущенный экземпляр Firefox (потому что это так). Если вы обнаружите, что это не происходит, вы должны сообщать об этом в виде ошибки в пакете firefox в Ubuntu (или против Firefox вверх по течению, если вы используете дистрибутив Firefox вверх, а не версию из официальных пакетов Ubuntu).

Я не знаю, сколько усилий вы готовы внести, чтобы выяснить, что происходит, но сбой диспетчера окон (compiz) не должен вызывать Окно Firefox будет скрыто при условии, что compiz снова запущен. Если это произойдет, это ошибка в compiz или firefox.

Если вы можете предоставить вывод ps x | grep -v grep | grep firefox во время возникновения проблемы, т. Е. После обнаружения этого запуска firefox в Терминале немедленно вернется к вашей оболочке - это поможет в устранении этой проблемы. Вы можете отредактировать свой ответ, чтобы включить эту информацию. Вы также должны уточнить, открывается ли новое окно / вкладка Firefox при запуске firefox в терминале или если его запуск в терминале не имеет эффекта.

5
ответ дан 31 July 2018 в 13:21

Вы правы, что это результат уже запущенного процесса, но если в Firefox нет ошибки, это не должно быть результатом процесса zombie .

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

Вы можете проверить это поведение, запустив первый экземпляр Firefox с URL-адресом в качестве аргумента командной строки (например, firefox http://askubuntu.com/q/147059/22949), а затем создания нового окна / вкладки, снова запустив команду firefox с другим URL-адресом (например, firefox http://www.google.com). Когда вы исследуете запущенные процессы с помощью ps x, вы увидите, что единственный исполняемый экземпляр firefox имеет первый URL-адрес в качестве аргумента командной строки (потому что вторая команда больше не работает).

Часто говорят, что вы не можете запускать более одного экземпляра Firefox за раз. Точнее сказать, что вы не можете запускать более одного экземпляра Firefox за один раз более чем на долю секунды.

Из-за этого поведения, когда вы вызываете второй экземпляр Firefox изнутри оболочки этот экземпляр заканчивается почти сразу, давая вам другое приглашение оболочки, как и любая программа, завершившая выполнение.

Другая широко используемая программа в Ubuntu, которая делает это Nautilus (браузер файлов).

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

Однако, если Firefox завершился, но еще не был удален из таблицы процессов (это то, что значит быть зомби процесс / несуществующий процесс, и я предполагаю, что вы подразумеваете под «призрачным процессом»), очень новый экземпляр Firefox должен уметь распознавать это и действовать так, как будто это единственный запущенный экземпляр Firefox (потому что это так). Если вы обнаружите, что это не происходит, вы должны сообщать об этом в виде ошибки в пакете firefox в Ubuntu (или против Firefox вверх по течению, если вы используете дистрибутив Firefox вверх, а не версию из официальных пакетов Ubuntu).

Я не знаю, сколько усилий вы готовы внести, чтобы выяснить, что происходит, но сбой диспетчера окон (compiz) не должен вызывать Окно Firefox будет скрыто при условии, что compiz снова запущен. Если это произойдет, это ошибка в compiz или firefox.

Если вы можете предоставить вывод ps x | grep -v grep | grep firefox во время возникновения проблемы, т. Е. После обнаружения этого запуска firefox в Терминале немедленно вернется к вашей оболочке - это поможет в устранении этой проблемы. Вы можете отредактировать свой ответ, чтобы включить эту информацию. Вы также должны уточнить, открывается ли новое окно / вкладка Firefox при запуске firefox в терминале или если его запуск в терминале не имеет эффекта.

5
ответ дан 2 August 2018 в 00:47

Вы правы, что это результат уже запущенного процесса, но если в Firefox нет ошибки, это не должно быть результатом процесса zombie .

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

Вы можете проверить это поведение, запустив первый экземпляр Firefox с URL-адресом в качестве аргумента командной строки (например, firefox http://askubuntu.com/q/147059/22949), а затем создания нового окна / вкладки, снова запустив команду firefox с другим URL-адресом (например, firefox http://www.google.com). Когда вы исследуете запущенные процессы с помощью ps x, вы увидите, что единственный исполняемый экземпляр firefox имеет первый URL-адрес в качестве аргумента командной строки (потому что вторая команда больше не работает).

Часто говорят, что вы не можете запускать более одного экземпляра Firefox за раз. Точнее сказать, что вы не можете запускать более одного экземпляра Firefox за один раз более чем на долю секунды.

Из-за этого поведения, когда вы вызываете второй экземпляр Firefox изнутри оболочки этот экземпляр заканчивается почти сразу, давая вам другое приглашение оболочки, как и любая программа, завершившая выполнение.

Другая широко используемая программа в Ubuntu, которая делает это Nautilus (браузер файлов).

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

Однако, если Firefox завершился, но еще не был удален из таблицы процессов (это то, что значит быть зомби процесс / несуществующий процесс, и я предполагаю, что вы подразумеваете под «призрачным процессом»), очень новый экземпляр Firefox должен уметь распознавать это и действовать так, как будто это единственный запущенный экземпляр Firefox (потому что это так). Если вы обнаружите, что это не происходит, вы должны сообщать об этом в виде ошибки в пакете firefox в Ubuntu (или против Firefox вверх по течению, если вы используете дистрибутив Firefox вверх, а не версию из официальных пакетов Ubuntu).

Я не знаю, сколько усилий вы готовы внести, чтобы выяснить, что происходит, но сбой диспетчера окон (compiz) не должен вызывать Окно Firefox будет скрыто при условии, что compiz снова запущен. Если это произойдет, это ошибка в compiz или firefox.

Если вы можете предоставить вывод ps x | grep -v grep | grep firefox во время возникновения проблемы, т. Е. После обнаружения этого запуска firefox в Терминале немедленно вернется к вашей оболочке - это поможет в устранении этой проблемы. Вы можете отредактировать свой ответ, чтобы включить эту информацию. Вы также должны уточнить, открывается ли новое окно / вкладка Firefox при запуске firefox в терминале или если его запуск в терминале не имеет эффекта.

5
ответ дан 4 August 2018 в 16:17

Вы правы, что это результат уже запущенного процесса, но если в Firefox нет ошибки, это не должно быть результатом процесса zombie .

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

Вы можете проверить это поведение, запустив первый экземпляр Firefox с URL-адресом в качестве аргумента командной строки (например, firefox http://askubuntu.com/q/147059/22949), а затем создания нового окна / вкладки, снова запустив команду firefox с другим URL-адресом (например, firefox http://www.google.com). Когда вы исследуете запущенные процессы с помощью ps x, вы увидите, что единственный исполняемый экземпляр firefox имеет первый URL-адрес в качестве аргумента командной строки (потому что вторая команда больше не работает).

Часто говорят, что вы не можете запускать более одного экземпляра Firefox за раз. Точнее сказать, что вы не можете запускать более одного экземпляра Firefox за один раз более чем на долю секунды.

Из-за этого поведения, когда вы вызываете второй экземпляр Firefox изнутри оболочки этот экземпляр заканчивается почти сразу, давая вам другое приглашение оболочки, как и любая программа, завершившая выполнение.

Другая широко используемая программа в Ubuntu, которая делает это Nautilus (браузер файлов).

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

Однако, если Firefox завершился, но еще не был удален из таблицы процессов (это то, что значит быть зомби процесс / несуществующий процесс, и я предполагаю, что вы подразумеваете под «призрачным процессом»), очень новый экземпляр Firefox должен уметь распознавать это и действовать так, как будто это единственный запущенный экземпляр Firefox (потому что это так). Если вы обнаружите, что это не происходит, вы должны сообщать об этом в виде ошибки в пакете firefox в Ubuntu (или против Firefox вверх по течению, если вы используете дистрибутив Firefox вверх, а не версию из официальных пакетов Ubuntu).

Я не знаю, сколько усилий вы готовы внести, чтобы выяснить, что происходит, но сбой диспетчера окон (compiz) не должен вызывать Окно Firefox будет скрыто при условии, что compiz снова запущен. Если это произойдет, это ошибка в compiz или firefox.

Если вы можете предоставить вывод ps x | grep -v grep | grep firefox во время возникновения проблемы, т. Е. После обнаружения этого запуска firefox в Терминале немедленно вернется к вашей оболочке - это поможет в устранении этой проблемы. Вы можете отредактировать свой ответ, чтобы включить эту информацию. Вы также должны уточнить, открывается ли новое окно / вкладка Firefox при запуске firefox в терминале или если его запуск в терминале не имеет эффекта.

5
ответ дан 6 August 2018 в 00:56

Вы правы, что это результат уже запущенного процесса, но если в Firefox нет ошибки, это не должно быть результатом процесса zombie .

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

Вы можете проверить это поведение, запустив первый экземпляр Firefox с URL-адресом в качестве аргумента командной строки (например, firefox http://askubuntu.com/q/147059/22949), а затем создания нового окна / вкладки, снова запустив команду firefox с другим URL-адресом (например, firefox http://www.google.com). Когда вы исследуете запущенные процессы с помощью ps x, вы увидите, что единственный исполняемый экземпляр firefox имеет первый URL-адрес в качестве аргумента командной строки (потому что вторая команда больше не работает).

Часто говорят, что вы не можете запускать более одного экземпляра Firefox за раз. Точнее сказать, что вы не можете запускать более одного экземпляра Firefox за один раз более чем на долю секунды.

Из-за этого поведения, когда вы вызываете второй экземпляр Firefox изнутри оболочки этот экземпляр заканчивается почти сразу, давая вам другое приглашение оболочки, как и любая программа, завершившая выполнение.

Другая широко используемая программа в Ubuntu, которая делает это Nautilus (браузер файлов).

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

Однако, если Firefox завершился, но еще не был удален из таблицы процессов (это то, что значит быть зомби процесс / несуществующий процесс, и я предполагаю, что вы подразумеваете под «призрачным процессом»), очень новый экземпляр Firefox должен уметь распознавать это и действовать так, как будто это единственный запущенный экземпляр Firefox (потому что это так). Если вы обнаружите, что это не происходит, вы должны сообщать об этом в виде ошибки в пакете firefox в Ubuntu (или против Firefox вверх по течению, если вы используете дистрибутив Firefox вверх, а не версию из официальных пакетов Ubuntu).

Я не знаю, сколько усилий вы готовы внести, чтобы выяснить, что происходит, но сбой диспетчера окон (compiz) не должен вызывать Окно Firefox будет скрыто при условии, что compiz снова запущен. Если это произойдет, это ошибка в compiz или firefox.

Если вы можете предоставить вывод ps x | grep -v grep | grep firefox во время возникновения проблемы, т. Е. После обнаружения этого запуска firefox в Терминале немедленно вернется к вашей оболочке - это поможет в устранении этой проблемы. Вы можете отредактировать свой ответ, чтобы включить эту информацию. Вы также должны уточнить, открывается ли новое окно / вкладка Firefox при запуске firefox в терминале или если его запуск в терминале не имеет эффекта.

5
ответ дан 7 August 2018 в 18:22

Вы правы, что это результат уже запущенного процесса, но если в Firefox нет ошибки, это не должно быть результатом процесса zombie .

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

Вы можете проверить это поведение, запустив первый экземпляр Firefox с URL-адресом в качестве аргумента командной строки (например, firefox http://askubuntu.com/q/147059/22949), а затем создания нового окна / вкладки, снова запустив команду firefox с другим URL-адресом (например, firefox http://www.google.com). Когда вы исследуете запущенные процессы с помощью ps x, вы увидите, что единственный исполняемый экземпляр firefox имеет первый URL-адрес в качестве аргумента командной строки (потому что вторая команда больше не работает).

Часто говорят, что вы не можете запускать более одного экземпляра Firefox за раз. Точнее сказать, что вы не можете запускать более одного экземпляра Firefox за один раз более чем на долю секунды.

Из-за этого поведения, когда вы вызываете второй экземпляр Firefox изнутри оболочки этот экземпляр заканчивается почти сразу, давая вам другое приглашение оболочки, как и любая программа, завершившая выполнение.

Другая широко используемая программа в Ubuntu, которая делает это Nautilus (браузер файлов).

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

Однако, если Firefox завершился, но еще не был удален из таблицы процессов (это то, что значит быть зомби процесс / несуществующий процесс, и я предполагаю, что вы подразумеваете под «призрачным процессом»), очень новый экземпляр Firefox должен уметь распознавать это и действовать так, как будто это единственный запущенный экземпляр Firefox (потому что это так). Если вы обнаружите, что это не происходит, вы должны сообщать об этом в виде ошибки в пакете firefox в Ubuntu (или против Firefox вверх по течению, если вы используете дистрибутив Firefox вверх, а не версию из официальных пакетов Ubuntu).

Я не знаю, сколько усилий вы готовы внести, чтобы выяснить, что происходит, но сбой диспетчера окон (compiz) не должен вызывать Окно Firefox будет скрыто при условии, что compiz снова запущен. Если это произойдет, это ошибка в compiz или firefox.

Если вы можете предоставить вывод ps x | grep -v grep | grep firefox во время возникновения проблемы, т. Е. После обнаружения этого запуска firefox в Терминале немедленно вернется к вашей оболочке - это поможет в устранении этой проблемы. Вы можете отредактировать свой ответ, чтобы включить эту информацию. Вы также должны уточнить, открывается ли новое окно / вкладка Firefox при запуске firefox в терминале или если его запуск в терминале не имеет эффекта.

5
ответ дан 10 August 2018 в 07:05

Вы правы, что это результат уже запущенного процесса, но если в Firefox нет ошибки, это не должно быть результатом процесса zombie .

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

Вы можете проверить это поведение, запустив первый экземпляр Firefox с URL-адресом в качестве аргумента командной строки (например, firefox http://askubuntu.com/q/147059/22949), а затем создания нового окна / вкладки, снова запустив команду firefox с другим URL-адресом (например, firefox http://www.google.com). Когда вы исследуете запущенные процессы с помощью ps x, вы увидите, что единственный исполняемый экземпляр firefox имеет первый URL-адрес в качестве аргумента командной строки (потому что вторая команда больше не работает).

Часто говорят, что вы не можете запускать более одного экземпляра Firefox за раз. Точнее сказать, что вы не можете запускать более одного экземпляра Firefox за один раз более чем на долю секунды.

Из-за этого поведения, когда вы вызываете второй экземпляр Firefox изнутри оболочки этот экземпляр заканчивается почти сразу, давая вам другое приглашение оболочки, как и любая программа, завершившая выполнение.

Другая широко используемая программа в Ubuntu, которая делает это Nautilus (браузер файлов).

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

Однако, если Firefox завершился, но еще не был удален из таблицы процессов (это то, что значит быть зомби процесс / несуществующий процесс, и я предполагаю, что вы подразумеваете под «призрачным процессом»), очень новый экземпляр Firefox должен уметь распознавать это и действовать так, как будто это единственный запущенный экземпляр Firefox (потому что это так). Если вы обнаружите, что это не происходит, вы должны сообщать об этом в виде ошибки в пакете firefox в Ubuntu (или против Firefox вверх по течению, если вы используете дистрибутив Firefox вверх, а не версию из официальных пакетов Ubuntu).

Я не знаю, сколько усилий вы готовы внести, чтобы выяснить, что происходит, но сбой диспетчера окон (compiz) не должен вызывать Окно Firefox будет скрыто при условии, что compiz снова запущен. Если это произойдет, это ошибка в compiz или firefox.

Если вы можете предоставить вывод ps x | grep -v grep | grep firefox во время возникновения проблемы, т. Е. После обнаружения этого запуска firefox в Терминале немедленно вернется к вашей оболочке - это поможет в устранении этой проблемы. Вы можете отредактировать свой ответ, чтобы включить эту информацию. Вы также должны уточнить, открывается ли новое окно / вкладка Firefox при запуске firefox в терминале или если его запуск в терминале не имеет эффекта.

5
ответ дан 15 August 2018 в 19:04

Другие вопросы по тегам:

Похожие вопросы: