Я не думаю, что это возможно. Это - Цель Брелока для ключей Gnome хотя:
Устройство хранения данных ключей и сертификатов на съемных носителях
Создайте модуль PKCS#11, который позволяет устройство хранения данных ключей, сертификатов и паролей на съемных носителях. Это может использоваться в качестве смарт-карты бедного человека, или для мобильности.
- Задача: Еще реализованный.
Единственная ситуация, в которой это безопасно , а не , это если A или B пишут на ресурс, который жестко закодирован в программе (например, /etc/passwd).
Но для подавляющего большинства программ это , а не . Поэтому параллельный запуск их будет безопасен.
Пока каждый экземпляр B записывает в разные файлы, все будет в порядке. Однако, безопасность такого подхода в конечном счете зависит от B.
Например, в прошлом меня укусали плохо закодированные программы, когда я пытался сделать что-то похожее на ваше решение. В моем случае программа использовала srand(time(NULL))
, а затем записала во временный файл rand()
-основанный на . Это произошло ужасно, когда одновременно было запущено 10 экземпляров программы, так как все они записывались в один и тот же временный файл.
До тех пор, пока ваша программа не содержит такой ошибки и не пишет по определенному фиксированному пути, вы должны быть в порядке.
Будет ли при параллельном выполнении stdout из разных программ беспорядок?
Нет, если все они являются независимыми процессами, записывающими в отдельные файлы, какими они кажутся -- каждый экземпляр B
отличается, и выводит на свое место.