Я должен написать программу, которая должна быть осведомлена о другом экземпляре, который сам работает на этой машине, и общаться с ним, а затем умереть. Я хочу знать, есть ли канонический способ сделать это в Linux.
Моя первая мысль заключалась в том, чтобы написать файл, содержащий PID процесса, и искать этот файл каждый раз, когда программа выполняется, но где "правильное" место и имя для этого файла? Есть ли лучший или более "правильный" способ?
Затем я должен сообщить, сказав, что пользователь попытался запустить его, но поскольку есть еще один экземпляр, он передаст задание и выйдет. Я подумал, что просто посылаю сигнал, например SIGUSR1, но это не позволит мне отправлять больше информации, например, дисплей X11, откуда пользователь выполнил второй процесс. Как отправить эту информацию?
Программа связана с Gtk, поэтому решение, использующее glib, в порядке.