Действительно ли я могу объединить pgrep в цепочку с уничтожением?

Прежде всего загрузка FTP не является хорошей идеей (FTP был изобретен, прежде чем злодеи приняли Интернет, таким образом, это - меры обеспечения безопасности, рядом с несуществующим). Обеспечьте веб-страницу (правильно защищенный с TLS) для загрузки, возможно? Я знаю мало веб-материала, но я уверен, что легко инициировать "файл, прибывший" логика там.

Если бы возврат не строго ограничен во времени, я просто наполнил бы файл локально к машине, которая является к munge им. Поскольку это локально, FTP или независимо от того, что должно быть прекрасным, или использовать paswordless SSH (scp (1)). Одной проблемой являются имена конечного файла, но я заключаю, что у Вас уже есть тот, решенный. Или используйте filename-yyyymmddhhmmss. На порче машина используют задание крона, чтобы регулярно обрабатывать файлы, и брать их (заданием крона или продвигать их из munger) на досуге.

Должен выполнить некоторые задания очистки регулярно для удаления оставшихся файлов, предупреждения поврежденных файлов..., который является также заданием для крона.

[BTW, я очень разочарован PTB, это - ясно вопрос для суперпользователя, но я - просто непритязательный участник пешком здесь.]

32
21.06.2014, 12:45
3 ответа

Попробуйте следующее:

pgrep name | xargs kill

Если вы используете имя сайта | kill, овут имени сайта подается на stdin kill. Так как kill не читает аргументы из stdin, то это не сработает.

Используя xargs, он построит аргументы для kill из stdin. Пример:

$ pgrep bash | xargs echo
5514 22298 23079
43
27.01.2020, 19:37

Это должно сработать:

pkill name

Я также предлагаю прочитать man-страницу.

19
27.01.2020, 19:37

Чтобы ответить на общие вопросы, а не на конкретные ...

Каналы предназначены для передачи вывода из одной программы в качестве ввода в другую программу.

Похоже, вы пытаетесь использовать вывод одной программы в качестве аргументов командной строки для другой программы, которая отличается.

Для этого используйте подстановку команды .

Например, если вы хотите запустить

sudo kill 5089 5105

И у вас есть команда pgrep name , которая выводит 5089 5105

Вы объединяете их как

sudo kill $(pgrep name)
5
27.01.2020, 19:37

Теги

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