Como posso executar novos comandos enquanto um comando existente é executado?

1

Eu tenho um script Python que executa comandos de terminal para concluir tarefas. Em um ponto do script, eu inicio uma rede wifi e tudo configura muito bem, mas o terminal deixará um cursor piscante e não aceitará nenhum comando adicional (enquanto o comando wifi continua em execução). Eu posso digitar outros comandos e apertar enter, mas nada vai acontecer. A única maneira de continuar meu script é apertar Ctrl + Z para parar o comando wifi. Isso permite que o script continue sendo executado sem problemas.

Existe uma maneira de abrir um novo processo ou janela de terminal para executar um comando terminal específico, para que eu possa continuar a executar comandos do Python em uma janela principal?

RESPOSTA EXTRA: Você pode usar algo chamado threading em python. Isso permitirá que você execute comandos e funções separadamente enquanto continua o script principal.

    
por Austin 20.05.2017 / 17:30

1 resposta

1

Se o script (sim postar) não precisar de ação do usuário, você poderá iniciá-lo em segundo plano adicionando & ao comando:

start_the_wifi &

ou, siga o seu Ctrl-Z com bg para colocá-lo em segundo plano.

Leia man bash , a seção Job Control em particular.

    
por waltinator 20.05.2017 / 17:41
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '110064',
    'url' => 'how-can-i-execute-new-commands-while-an-existing-command-runs',
];

$_COOKIE = [
    '_csrf-frontend' => '1186a3fcb305686724d885d032c14ee18f7d32cf069ca1ba1a9586a9e5581a43a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"DHIllWf85r5oWOVmQ0tQSXZgG2UfLIQ3";}',
    'advanced-frontend' => 'ml4i39q1vp7gmc679vgh5vbubi',
];

$_SESSION = [
    '__flash' => [],
];