Есть ли любая проблема, если я уничтожаю синхронизацию () процесс, прежде чем это закончилось

Для этого нужно использовать именную трубу.

Сначала создайте его в папке:

mkfifo foo.pipe

Затем используйте эту команду:

tar cvf foo.pipe ./foo >foo.out 2>foo.err & cat foo.pipe >foo.tar

Примечание: часть cat- теперь может быть также gzip или любой другой, которая может считываться с трубы:

tar cvf foo.pipe ./foo >foo.out 2>foo.err & gzip -c foo.pipe >foo.tar

Пояснение:

Выход записывается в именную трубу (foo. pipe), из которой считывается другой процесс (cat, gzip, netcat). Таким образом, вы не теряете каналы stdout/stderr для получения информации.

0
17.02.2014, 10:01
1 ответ

Не знаю, возможно ли вообще убить вызов sync(). Убийство процесса, который это сделал, вероятно, недостаточно.

$ echo $DYLD_LIBRARY_PATH

$

Если отменить sync() возможно, то я бы ожидал, что ущерб будет меньше, чем без вызова, по крайней мере, при использовании файловой системы с журналом.

Может быть полезно сделать этот вызов как можно раньше (т.е. до того, как будут убиты задачи). Это может позволить использовать более длительный таймаут.

.
1
28.01.2020, 02:52

Теги

Похожие вопросы