Если процесс VNC все еще работает, он может все еще содержать открытый файл журнала, и он может даже все еще писать в него, и из-за этого файл не был удален из Вашего жесткого диска.
Необходимо перезапустить упомянутый процесс VNC, и пространство должно быть возвращено Вам.
Проблема решила, хотя это было программной ошибкой и не имело отношение к Выскочке. Программа открывает ttyUSB устройство для необработанного (неканонического) входа, но это не очищало флаг ISIG в termios. Каждый раз, когда символ "CTRL-C" (0x02) был получен, ядро генерировало SIGINT и отправило его в программу. Этой проблемы не происходило от удара, потому что termios настройки являются персистентными на файле, и что-то, должно быть, открыло tty и очистилось, ISIG укусил, прежде чем моя программа была выполнена. Это не произошло при выполнении его непосредственно от Выскочки. Мне все еще жаль, что не было некоторого лучшего способа регистрировать/отлаживать сигналы, ptrace является только половиной ответа!
Программа отправляется SIGINT, когда это помещается в фон (думайте ^Z). Обычно вещи, которые собираются жить как демоны, захватывают сигнал и живой на.
Проверьте, если можно запустить программу от интерактивной оболочки и затем поместить ее в фон ^Z. Довольно возможно, что это умрет также.
Если это оказывается ответом, у Вас есть 2 возможности. Если это - Ваша программа, можно захватить SIGINT. Если Вы не имеете доступа к источникам или не хотите проводить дополнительное время при кодировании этой функции, или Вы запускаете программу на некоторых версиях Java VM, которые имеют проблемы с сигналами, то переносят Вашу программу в сценарии, который использует screen
запустить и запустить Вашу программу. Таким образом screen
входит в фон, но Ваш код дурачат в размышление, что он работает на переднем плане интерактивной сессии.