Вы можете использовать emacsclient
для проверить, есть ли соединение:
#!/bin/sh
if ! emacsclient -e 0 >&/dev/null
then emacs --daemon
fi
emacsclient -c "$@"
-e 0
означает оценку выражения «0», которое просто печатает 0. Код возврата
не равен нулю, если emacsclient не может подключиться к серверу.