Я то не переживаю, но вот пойди и докажи представителем Ф..Б, что она очиститься и достать оттуда ничего нельзя будет.
Это один из тех случаев, когда легче сделать, чем объяснить.
На баше невозможно. Тебе ядро не даст залезть в чужую память. Как полуработающий кривой костыль возможно аллоцировать в цикле память и заполнять её random'ом пока система дает это сделать. Но опять же, это ничего не гарантирует, тормоза у тебя будут, да и пользовательские процессы могли нагадить секретными данными в swap'е ... хотя swap можно и зашифровать.
Я выделил 100500 байт, разместил туда сверхсекретные данные, закрыл программу. В каких-то местах оперативы эти данные могли остаться. Очевидно, что drop_caches ничего не даст.
Есть более простой выход.
1. Сделать клевый програссбар в котором будут бежать процентики
2. Над програс баром написать что-то типа «проверка и очистка памяти»
3. смонитровать шм(если не смонтирован) и копировать в него(в файл) содержимое винта пока возможно, но не больше РАМ*0.75
Выгодна очевидна!
1. Есть програм бар, а значит «программа работает»
2. Надписи на русском - значит не американцами делалось
3. Мигает красная лампочка, тормозит система - значит программа точно работает!
Как грится «как аукнется так и откликнется»... Какая задача, такое и решение... необходимо потратить вару (к)ватт энергии на подтверждение что «все безопасно»... почему бы не сделать это красиво? :)
можно попробовать написать библиотечку, реализующую свои *alloc() и free(), в которых очищаемая память забивается произвольным мусором.
А bash пускать с LD_PRELOAD=...
Советую не париться, а поставить размагничивающую катушку напротив модулей оперативки, которая будет включаться в момент подачи питания на материнку =)