Хорошо, эту проблему довольно сложно понять без контекста:
Когда мы запускаем Evince, он проверяет, запущен ли другой экземпляр.
Если он есть, команда
evince
завершается немедленно, сразу после передачи параметра в работающий экземплярЕсли другой экземпляр не запущен, будет запущен новый, и команда
evince
будет ожидать выхода из этого нового экземпляра.
Хотя такое поведение довольно приятно, оно не полезно для сценариев оболочки. Зачем? Потому что у меня есть скрипт, который записывает временный файл .ps
, вызывает программу просмотра PS/PDF и автоматически удаляет временный файл .ps
после выхода из программы просмотра. К сожалению, этот сценарий работает только в том случае, если evince ранее не запускался (если evince выполнялся, файл удаляется слишком быстро).
Я не хочу добавлять дополнительную сложность к этому сценарию. Это должно быть простым, потому что я могу заменить evince на xpdf, gv или что-то еще.
Я ожидал появления какого-то параметра командной строки (аналогично -f
для vim и gvim), но боюсь, что такой опции нет. Написание сценария-обертки вокруг evince
может быть хорошим решением, но этот сценарий должен работать правильно во всех случаях (если evince был запущен, а если нет).
Есть идеи? (Я знаю ... это довольно сложно)