Este é o comando hexec que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
hexec - uma ferramenta de engate de execução de processo
SINOPSE
hexec [expr] [cmd] [argumentos ...]
DESCRIÇÃO
hexec é uma ferramenta para ligar em chamadas de execução de processos (família exec de syscalls). Você pode
define uma expressão que é executada em qualquer chamada exec conectada. Esta expressão pode
também contém uma chamada de exec de substituição.
OPÇÕES RESUMO
Aqui está um resumo das opções para hexec.
--help | -h Imprime uma página de resumo de opções / expr
--version | -v Imprimir versão hexec
--log-out | -lo definir o arquivo de saída para erro e -imprimir a saída
OPÇÕES
-h Imprima uma página de resumo de opções / expr
--Socorro Imprima uma página de resumo de opções / expr
-a Defina o arquivo de saída para erro e -print saída. Isso pode ser necessário se escrever
para stderr pode causar mau funcionamento porque alguns processos lêem de stderr e
espere uma saída bem definida.
EXPRESSÕES
A expressão é executada em todas as chamadas de execução do processo. Se a expressão retornar
verdadeiro, a chamada original é ignorada.
-e
-a
Retorna verdadeiro se ambas as expressões retornam verdadeiras. Se a esquerda retorna falso, a direita
expressão nunca é executada.
Ou
-o
Retorna verdadeiro se uma das duas expressões retornar verdadeiro. Se o esquerdo retornar verdadeiro, o
a expressão correta nunca é executada.
-caminho
Retorna verdadeiro se o caminho do executável corresponder . é uma festa
padrão curinga compatível.
-ipath
O mesmo que -path, mas não faz distinção entre maiúsculas e minúsculas.
-nome
Retorna verdadeiro se o nome base do executável corresponder . é um
padrão curinga compatível com bash.
-nome
O mesmo que -name, mas não faz distinção entre maiúsculas e minúsculas.
-contém
Retorna verdadeiro se o caminho do executável contiver a string .
-icontém
O mesmo que -contém, mas não diferencia maiúsculas de minúsculas.
-impressão Imprime todos os argumentos para o processo chamado. Retorna sempre verdadeiro.
-Exec [args ...] ;
Executa com [args ...] como argumentos. Esta expressão deve ser encerrada com
um ponto e vírgula. Você pode usar marcadores de posição de argumento em e [args ...] (veja abaixo).
Esta expressão sempre retorna verdadeiro.
NOTA: Esteja ciente de que você pode precisar escapar ou citar a rescisão
ponto-e-vírgula para não confundir seu shell.
SH
Interpretar as a shell script by invoking / Bin / sh com os argumentos -c
' '. Você pode usar marcadores de posição de argumento dentro . Please note that -sh
espera apenas um único argumento e não uma lista variável de argumentos (como -exec
faz). Usar -sh é o mesmo que usar -Exec sh -c .
ESPAÇOS PARA -Exec EXPRESSÃO
Cada expressão -exec pode usar marcadores na lista de argumentos para obter informações
da chamada executiva original. Cada espaço reservado começa com {e termina com}. Use \ {se você
deseja usar um {em sua lista de argumentos. Os marcadores de posição são substituídos quando o -exec
expressão é avaliada.
Tipos de espaço reservado:
{não} Será substituído pelo número de argumentos na chamada original.
{ }
Será substituído pelo argumento original no índice . Exemplo: {1} daria
o primeiro argumento. Você pode prefixar com sinalizadores de espaço reservado.
{} Será substituído por todos os argumentos da chamada original. Cada argumento é
separado com um espaço. Você pode usar sinalizadores de espaço reservado.
NOTA: O nome do executável também é considerado um argumento. Isso significa que uma chamada como
"echo test" resultará em dois argumentos, "echo" e "test".
ESPAÇO BANDEIRAS
s Cada argumento é inserido como um único argumento em vez de concatenar todos
argumentos.
Considere os argumentos 'a', 'b' e 'c'. Sem s, -Exec {} \; resultaria em
-Exec 'a b c' \;, que em muitos casos não é o que você deseja. -Exec {s} \; no entanto
resultaria em -Exec 'uma' 'b' 'c' \;.
q Cite cada argumento.
e Escape todos os caracteres não alfanuméricos. Este sinalizador é muito útil ao usar um "sh
-c <...> "na expressão -exec.
Exemplos
-Exec eco {} \; com a chamada 'uma' 'b' 'c'
resulta em: 'echo' 'abc'
-Exec eco {q} \; com a chamada 'uma' 'b' 'c'
resulta em: 'echo' 'a' 'b' 'c'
-Exec sh -c 'eco {}; {} ' \; com a chamada 'sh' '-c' 'gcc dc >> log.txt '
resulta em: 'sh' '-c' 'echo sh -c gcc dc >> log.txt; sh -c gcc dc >> log.txt '
Observe que isso não fará o que você espera, pois o >> é tratado incorretamente
nesse caso.
-Exec sh -c 'eco {e}; {} ' \; com a chamada 'sh' '-c' 'gcc dc >> log.txt '
resulta em: 'sh' '-c' 'echo sh \ -c gcc \ d \ .c \ \> \> \ log \ .txt; sh -c gcc dc >>
log.txt '
MUDANÇAS TO PROCESSOS
hexec irá adicionar algumas variáveis de ambiente aos processos interceptados. Estes são (podem não ser
completo):
LD_PRELOAD
hexec adiciona libhexec-hook.so à lista de bibliotecas pré-carregadas.
HEXEC_EXPR_SHM
Contém o nome do objeto de memória compartilhada interna.
HEXEC_LOG_FD
Contém o descritor de arquivo para erro e saída -print.
Nunca modifique essas variáveis de ambiente. Também tome cuidado ao usar estes
variáveis, porque o nome e o conteúdo das variáveis podem mudar no futuro.
EXEMPLOS
hexec -nome 'gcc' -Exec cache {s} \; fazer
Chama o make, que irá então chamar o gcc várias vezes. O nome executável de cada
a execução do processo viciado é testada contra o padrão de arquivo "gcc" e "ccache {s}"
é chamado sempre que uma correspondência é encontrada. '{s}' será substituído pelo original (o
fisgado) chamada. Neste exemplo, uma chamada para "gcc -o test.o test.c" seria substituída
com "ccache gcc -o test.o test.c"
COMO IT FUNCIONA
TUDO
Use hexec online usando serviços onworks.net