Как уничтожить команду, запущенную по SSH - потерянное соединение SSH

Другие предложения ExifTool являются большими, если Вы хотите удалить или изменить определенные разделы. Но если Вы хотите просто удалить все метаданные полностью, используйте это (из страницы справочника):

   exiftool -all= dst.jpg
        Delete all meta information from an image.

Вы могли также использовать jhead с-de flag:

   -de    Delete the Exif header entirely.  Leaves  other  metadata
          sections intact.

Обратите внимание, что в обоих случаях, EXIF является только одним типом метаданных. Другие разделы метаданных могут присутствовать, и в зависимости от того, что Вы хотите сделать, обе из этих программ имеют различные варианты для сохранения некоторых или удаления всего этого. Например, jhead -purejpg полосы вся информация, не нужная для рендеринга изображения.

4
20.08.2011, 20:16
2 ответа

Принятие Вашего удаленного сервера имеет совместимую POSIX оболочку, следующее должно работать:

ssh ...options... 'command & pid=$!; sleep 20; kill $pid'

Действительно в стандарте POSIX говорится о $!:

Расширяется до десятичного идентификатора процесса новой фоновой команды (см. Списки), выполняемый от текущей оболочки. (Например, фоновые команды, выполняемые от подоболочек, не влияют на значение "$!" в текущей среде оболочки.) Для конвейера идентификатор процесса является идентификатором последней команды в конвейере.

Если удаленная система имеет управление заданиями, можно сократить его этот путь:

ssh ...options... 'command & sleep 20; kill %1'
5
27.01.2020, 20:54
  • 1
    +1 для kill %1 путь; я сделал это в некоторых сценариях в прошлом. –  Aaron D. Marasco 21.08.2011, 16:22
  • 2
    , что действительно "уничтожает %1", делает? это всегда уничтожает хороший процесс? какой happensd, если существует больше процессов, отправленных в фон с "и"? клиент ftp AIX –  LanceBaynes 22.08.2011, 11:35

Если вы все еще хотите сделать это с помощью только команды «тайм-аут», ваша команда удаленного выполнения (ssh )должна получить выделенный tty, тогда тайм-аут даже уничтожит удаленный вызов. Измените команду ssh, чтобы в ней было «-t».

0
27.01.2020, 20:54

Теги

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