Когда я пытаюсь создать поддельное электронное письмо в своей системе 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
.
Выполнение MPIRUN
из командной строки или из скрипта не изменяет производительность команды MPIRUN
. Единственная разница производительности - это время запуска: запуск скрипта требует нескольких миллисекунд при запуске (больше, если исполняемый файл оболочки не находится в кэш диска), тогда как набрав в командной строке, требуется, однако, требуется много секунд, требуется, чтобы ввести все это Отказ
Вы можете сохранить небольшое количество памяти, рассказывая оболочку, чтобы заменить себя в последнюю команду, она работает, вместо того, чтобы ждать последней команды для завершения и завершения немедленно. Заменить MPIRUN ...
MPIRUN ...
.
Вы можете сохранить крошечное количество времени запуска, используя тире вместо bash. Для долгосрочной работы, как MPIRUN, вероятно, будет, разница является совершенно незначительным; Преимущество производительности видно только в задачах, которые запускают много маленьких сценариев скорлупы, такие как загрузка Linux.
Выдвижение команд в сценарии имеет большое преимущество: вы можете настроить последовательность команд, и если вы хотите сделать некоторые настройки в эти команды, вам просто нужно редактировать файл.
Разница производительности будет незначительна. Сам код не будет работать медленнее или быстрее в любом случае, так и начать очень мало различий, что и код для Bash Binary, скорее всего, уже в памяти.
Будет разница между, но незначительными, как сказано другим. Вот как проверить
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
, но производительность действительно лежит на автоматизации и вручную вводит команды один за другим.
Вы действительно подумаете о том, чтобы начать те много команд вручную? - Это, безусловно, было бы очень несобезновением. (Может быть, вы хотите объяснить это лучше в вашем вопросе.)
Вызов скрипта из оболочки стоит ровно один дополнительный процесс оболочки; Это вообще не проблема, в частности, если у вас есть много команд в вашем сценарии. Но наличие ваших команд совместно облегчает обработку и удлинение.
В зависимости от команд, которые у вас есть, и то, как вы их называете, вы можете повлиять на свою среду вызова Shell, если вы вызываете команды отдельно; Например, в случае поиска любые называемые команды на основе скриптов оболочки. Наличие всех команд вместе в сценарии продолжает меняет местные.
Короче говоря: есть несколько причин, чтобы поставить все ваши команды в сценарии.