Это имеет значение (например, мудрый производительностью), если я выполняю команду из сценария удара (по сравнению с командной строкой)?

Никакое выполнение почтового сервера

Когда я пытаюсь создать поддельное электронное письмо в своей системе Fedora 19, я получаю следующую запись в своей системе /var/log/maillog.

$ mail blah@localhost
Subject: test
test
.
EOT

Содержание /var/log/maillog:

$ more maillog
Jan  2 23:16:45 greeneggs sendmail[21847]: s034Gi1W021847: from=saml, size=209, class=0, nrcpts=1, msgid=<201401030416.s034Gi1W021847@gree
neggs.bubba.net>, relay=root@localhost
Jan  2 23:16:45 greeneggs sendmail[21847]: s034Gi1W021847: to=blah@localhost, ctladdr=saml (1000/1000), delay=00:00:01, xdelay=00:00:00, m
ailer=relay, pri=30209, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]

Это подразумевало бы мне, что почта разъединяет, никогда не принимал электронную почту для начала, таким образом, ей, вероятно, отвечают ударом на удар к отправителю или проигнорировала все вместе, идя не где.

Выполнение почтового сервера

С выполнением sendmail.

$ service sendmail start
Redirecting to /bin/systemctl start  sendmail.service

Подтверждение его запущенный:

$ ps -eaf | grep [s]endmail
root     22157     1  0 23:20 ?        00:00:00 sendmail: accepting connections
smmsp    22173     1  0 23:20 ?        00:00:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue

Повторение того же теста:

$ mail blah@localhost
Subject: test2
test
.
EOT

Мы теперь получаем возвращенное получение от почтового сервера, что адрес не существует.

...
The original message was received at Thu, 2 Jan 2014 23:28:37 -0500
from root@localhost

   ----- The following addresses had permanent fatal errors -----
blah@localhost
    (reason: 550 5.1.1 <blah@greeneggs.bubba.net>... User unknown)
    (expanded from: blah@localhost)

   ----- Transcript of session follows -----
... while talking to [127.0.0.1]:
>>> DATA
<<< 550 5.1.1 <blah@greeneggs.bubba.net>... User unknown
550 5.1.1 blah@localhost... User unknown
<<< 503 5.0.0 Need RCPT (recipient)
...

Это обнаружилось в почтовой шпульке моего пользователя здесь: /var/spool/mail/saml.

2
27.03.2015, 08:15
4 ответа

Выполнение MPIRUN из командной строки или из скрипта не изменяет производительность команды MPIRUN . Единственная разница производительности - это время запуска: запуск скрипта требует нескольких миллисекунд при запуске (больше, если исполняемый файл оболочки не находится в кэш диска), тогда как набрав в командной строке, требуется, однако, требуется много секунд, требуется, чтобы ввести все это Отказ

Вы можете сохранить небольшое количество памяти, рассказывая оболочку, чтобы заменить себя в последнюю команду, она работает, вместо того, чтобы ждать последней команды для завершения и завершения немедленно. Заменить MPIRUN ... MPIRUN ... .

Вы можете сохранить крошечное количество времени запуска, используя тире вместо bash. Для долгосрочной работы, как MPIRUN, вероятно, будет, разница является совершенно незначительным; Преимущество производительности видно только в задачах, которые запускают много маленьких сценариев скорлупы, такие как загрузка Linux.

Выдвижение команд в сценарии имеет большое преимущество: вы можете настроить последовательность команд, и если вы хотите сделать некоторые настройки в эти команды, вам просто нужно редактировать файл.

1
27.01.2020, 22:05

Разница производительности будет незначительна. Сам код не будет работать медленнее или быстрее в любом случае, так и начать очень мало различий, что и код для Bash Binary, скорее всего, уже в памяти.

1
27.01.2020, 22:05

Будет разница между, но незначительными, как сказано другим. Вот как проверить

macair:scripts $ time ps
  PID TTY           TIME CMD
  437 ttys000    0:00.01 -bash
  442 ttys001    0:00.43 -bash

real    0m0.009s
user    0m0.002s
sys     0m0.007s

macair:scripts $ time ./ps.sh 
  PID TTY           TIME CMD
  437 ttys000    0:00.01 -bash
  442 ttys001    0:00.44 -bash
32559 ttys001    0:00.00 /bin/bash ./ps.sh

real    0m0.012s
user    0m0.004s
sys     0m0.008s
macair:scripts $ cat ps.sh 
#!/bin/bash

ps
macair:scripts $ echo $SHELL
/bin/bash

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

0
27.01.2020, 22:05

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

Вызов скрипта из оболочки стоит ровно один дополнительный процесс оболочки; Это вообще не проблема, в частности, если у вас есть много команд в вашем сценарии. Но наличие ваших команд совместно облегчает обработку и удлинение.

В зависимости от команд, которые у вас есть, и то, как вы их называете, вы можете повлиять на свою среду вызова Shell, если вы вызываете команды отдельно; Например, в случае поиска любые называемые команды на основе скриптов оболочки. Наличие всех команд вместе в сценарии продолжает меняет местные.

Короче говоря: есть несколько причин, чтобы поставить все ваши команды в сценарии.

1
27.01.2020, 22:05

Теги

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