Есть ли способ написать код C, который позволяет нам определить, работает ли предыдущий экземпляр приложения? Мне нужно проверить это переносимым образом для Linux и Windows, используя последнюю версию GCC.Как определить, запущено ли приложение? C portable Linux/Win
Любые примеры портативного кода окажут огромную помощь. Сейчас я вижу два варианта:
- Проверить список процессов. Здесь у linux есть хорошие инструменты, но я не думаю, что одни и те же функции относятся к окнам. Может быть, некоторые библиотеки gnu для обоих? Какие библиотеки или функции?
- Сохраните и заблокируйте файл. Теперь, как это сделать так, чтобы обе системы могли понять? Одна из проблем - сохранить файл? Деревья путей отличаются от каждой системы. Кроме того, если выбран относительный путь, два приложения могут работать с разными заблокированными файлами в разных каталогах.
Спасибо! Beco.
PS. У SO есть разные реквизиты, поэтому, если вы знаете один, а не другой, ответьте. В конце концов, если нет переносного «единственного» способа, я все равно могу использовать #ifdef и коды, предложенные в качестве ответа.
языка C (не C++), консольное приложение, GCC, Linux и окна
Hi @Keith. Каков полный путь к этому каталогу? Есть ли переменная, которая работает?Я отредактировал вопрос, чтобы объяснить некоторые сомнения при попытке сделать это в обеих системах. Спасибо за ваше время! –