что означает «& amp;» в параметре командной строки? [Дубликат]

Вы можете использовать функции empty () и isset (). Если вы хотите, чтобы он работал с разными файлами, просто измените action='yourphp.php' на html, который я вам даю, и store the PHP script на этот файл yourphp.php. Также вам нужно изменить index.html на index.php, чтобы активировать функции PHP.

PHP

<?php

    error_reporting(0);
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $from = 'From: yoursite.com'; 
    $to = 'contact@yoursite.com'; 
    $subject = 'Customer Inquiry';
    $body = "From: $name\n E-Mail: $email\n Message:\n $message";


    if ($_POST['submit']){
                if (!(empty($_POST['name']))) {
                        if (!(empty($_POST['email']))){
                            if (!(empty($_POST['message']))){
                                mail ($to, $subject, $body, $from);
                                echo '<p>Your message has been sent!</p>';
                            }else{
                                echo '<p>Fill your message please.</p>';}
                        }else {
                            echo '<p>Fill your email please.</p>';}
                }else{
                    echo '<p>Fill your name please.</p>';}              
    }else{
            echo '<p>Fill the form.</p>';}
?>

HTML

<html>
    <form method="post" action="?">
        <table>
            <tr><td>Name</td><td><input type='text' name='name' id='name'/></td></tr>
            <tr><td>Email</td><td><input type='text' name='email' id='email'/></td></tr>
            <tr><td>Message</td><td><input type='text' name='message' id='message'/></td></tr>
            <tr><td></td><td><input type='submit' name='submit' id='submit'/></td></tr>
        </table>
    </form>
</html>

С наилучшими пожеланиями!

53
задан falsarella 22 February 2016 в 20:01
поделиться

3 ответа

Команда & заставляет команду запускаться в фоновом режиме.

Из man bash:

Если команда завершена оператором управления & amp; shell выполняет команду в фоновом режиме в подоболочке. Оболочка не ждет завершения команды, а статус возврата - 0.

96
ответ дан Bohemian 21 August 2018 в 11:55
поделиться

Если не указано иначе, команды переходят на передний план. У вас есть только один процесс «переднего плана», выполняющийся в одном сеансе оболочки. & Amp; символ указывает командам работать в фоновом процессе и немедленно возвращается в командную строку для дополнительных команд.

sh my_script.sh &

Фоновый процесс будет не оставаться в живых после закрытия сеанса оболочки , SIGHUP завершает все запущенные процессы. По умолчанию в любом случае. Если ваша команда работает долго или работает неограниченно (т. Е. Микросервис), вам нужно отложить ее без nohup, чтобы она оставалась бегущей после отключения от сеанса:

nohup sh my_script.sh &

EDIT: Появляется быть серой областью, касающейся закрытия фоновых процессов, когда & amp; используется. Просто имейте в виду, что оболочка может закрыть ваш процесс в зависимости от вашей ОС и локальных конфигураций (особенно на CENTOS / RHEL): https://serverfault.com/a/117157 .

4
ответ дан Timothy Jannace 21 August 2018 в 11:55
поделиться

Кроме того, вы можете использовать «& amp;» чтобы запускать много процессов через одно (1) ssh-соединения, чтобы поддерживать минимальное количество терминалов. Например, у меня есть один процесс, который прослушивает сообщения для извлечения файлов, второй процесс прослушивает сообщения для загрузки файлов: используя «& amp;» Я могу запускать обе службы в одном терминале через одно подключение ssh к моему серверу. ***** Я только понял, что эти процессы проходят через "& amp;" также будет «оставаться в живых» после закрытия сессии ssh! довольно аккуратно и полезно, если ваше соединение с сервером прерывается **

9
ответ дан Zack S 21 August 2018 в 11:55
поделиться
  • 1
    nohup также будет поддерживать процессы. – Jerry Chin 28 April 2017 в 06:15
  • 2
    с & amp; мы также можем получить PID, чтобы мы могли завершить процесс, если хотим, а также можем проверить статус этого процесса – Dsmagento 12 June 2018 в 16:16
Другие вопросы по тегам:

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