¿Qué significan los argumentos de la línea de comandos en la opción PSTEE -A -- bash camp askubuntu Relacionados El problema

What does command line arguments mean in pstree -a option


1
vote

problema

Español

Cuando lea el manual de PSTEE

   -a     Show command line arguments.  If the command line of a process is swapped  out,  that  process  is           shown in parentheses.  -a implicitly disables compaction for processes but not threads.   

Estoy muy confundido acerca de 'Argumentos de la línea de comandos'

Comparar la salida

  me@alpha:~$ pstree |head -5 systemd-+-ModemManager---2*[{ModemManager}]         |-NetworkManager-+-dhclient         |                `-2*[{NetworkManager}]         |-accounts-daemon---2*[{accounts-daemon}]         |-acpid me@alpha:~$ pstree -a | head -5 systemd splash   |-ModemManager --filter-policy=strict   |   `-2*[{ModemManager}]   |-NetworkManager --no-daemon   |   |-dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /run/dhclient-wlp3s0.pid -lf...   

Las líneas de comando están compuestas de función, opciones y argumentos

Di -A Mostrar argumentos de línea de comandos, implica que otros simplemente muestran funciones y opciones, pero ese no es el caso.

¿Qué significan los argumentos de la línea de comandos aquí?

Original en ingles

When read the manual of pstree

 -a     Show command line arguments.  If the command line of a process is swapped  out,  that  process  is           shown in parentheses.  -a implicitly disables compaction for processes but not threads. 

I am very confused about 'command line arguments'

Compare the output

me@alpha:~$ pstree |head -5 systemd-+-ModemManager---2*[{ModemManager}]         |-NetworkManager-+-dhclient         |                `-2*[{NetworkManager}]         |-accounts-daemon---2*[{accounts-daemon}]         |-acpid me@alpha:~$ pstree -a | head -5 systemd splash   |-ModemManager --filter-policy=strict   |   `-2*[{ModemManager}]   |-NetworkManager --no-daemon   |   |-dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /run/dhclient-wlp3s0.pid -lf... 

Command lines are composed of function, options and arguments

Say -a show command line arguments, implies that others just show funtions and options, but that is not the case.

What does the command line arguments mean here?

  

Lista de respuestas

1
 
vote
vote
La mejor respuesta
 

Los argumentos de la línea de comandos, en general, se refieren a todos los argumentos después de que se ejecute el nombre del programa. Por ejemplo, en su comando ABCDEFGHIJKLMNABCDEFGHIJKLMN0 , hay un argumento a ABCDEFGHIJKLMNABCDEFGHIJKLMN1 que es ABCDEFGHIJKLMNABCDEFGHIJKLMN2 .

En la salida ABCDEFGHIJKLMNABCDEFGHIJKLMN3 , el árbol consiste en una raíz de una raíz de un PID (ID de proceso) o init, y luego el árbol de los hilos de los niños. Por ejemplo, en su salida, NetworkManager es un proceso principal que está ejecutando uno ABCDEFGHIJKLMNABCDEFGHIJKLMN4 y 2 ABCDEFGHIJKLMNABCDEFGHIJKLMNABCDEFGHIJKLMN5 HASTROS.

Agregar la bandera ABCDEFGHIJKLMNABCDEFGHIJKLMNABCDEFGHIJKLMN6FCHIGHIJKLMN6BGHIJKLMN6BGHIJKLMNISMN6 Por ejemplo, en su salida, podemos ver que se inició ABCDEFGHIJKLMNABCDEFGHIJKLMN7 con un argumento ABCDEFGHIJKLMNABCDEFGHIJKLMN8 , y también dhclient se inició con varios argumentos.

Esa es toda la página de hombre significa "Mostrar argumentos de línea de comandos".

 

Command-line arguments, in general, refers to all arguments after the name of the program being run. For example, in your command pstree | head -5, there is one argument to head which is -5.

In the pstree output, the tree consists of a root of either a pid (process ID) or init, and then the tree of children threads. For example, in your output, NetworkManager is a parent process that is running one dhclient and 2 NetworkManager threads.

Adding the -a flag also prints the arguments that were used when each process or thread was started. For example, in your output, we can see that NetworkManager was started with one argument --no-daemon, and likewise dhclient was started with several arguments.

That is all the man page means by "show command line arguments".

 
 
 
 
1
 
vote

Los argumentos son todo lo que no es el nombre de comando en sí. Por ejemplo, en

  head0  

Los argumentos son todos

  head1  

Estos son los valores en las posiciones 1 y en adelante en la matriz C ABCDEFGHIJKLMNABCDEFGHIJKLMN12 Dado al programa cuando se inicia, o en head3 en Python .

El manual de abcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmnabcDefghijklmn14 en la línea de comando. Eso es lo que muestran sus dos ejemplos: solo head6 se enumera en la primera versión sin head7 , pero head8 en el head9 Versión. No le importa si los "argumentos" comenzaron con -50 o lo que representaban.


Los programas a veces distinguen las "opciones" y "banderas" y "argumentos" e incluso "comandos" en su documentación, pero al sistema son todos solo argumentos. El programa se les da todos ellos juntos y se pone a decidir qué hacer con ellos, y que encajan en cada categoría. Puede ser útil ayudar a una persona a pensar qué están haciendo, pero es puramente informativo y no se hace cumplir. Dado que ABCDEFGHIJKLMNABCDEFGHIJKLMN21 tiene que mostrarlo cada programa , no puede saber cómo todos piensan en sus líneas de comando y deben ser muy genéricas.

En esencia, la estructura de una línea de comando es

  -52  

Y esos argumentos podrían ser ABCDEFGHIJKLMNABCDEFGHIJKLMN23 o un nombre de sub-comando o un nombre de ruta, y son todos iguales hasta -54 los ve y decide qué hacer. ABCDEFGHIJKLMNABCDEFGHIJKLMN25 Los considera a todos en forma en bruto y solo los informa cuando los solicita.

 

The arguments are everything that isn't the command name itself. For example, in

dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /run/dhclient-wlp3s0.pid -lf 

the arguments are all of

-d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /run/dhclient-wlp3s0.pid -lf 

These are the values at positions 1 and onwards in the C argv array given to the program when it starts, or in sys.argv[1..] in Python.

What the pstree manual is implying is that without -a it only lists the name of each program and not any of the other pieces given on the command line. That is what your two examples show: just ModemManager is listed in the first version without -a, but ModemManager --filter-policy=strict in the -a version. It doesn't care whether the "arguments" started with - or what they represented.


Sometimes programs distinguish "options" and "flags" and "arguments" and even "commands" in their documentation, but to the system they are all just arguments. The program gets given all of them together and gets to decide itself what to do with them, and which fit into each category. It can be useful to help a person think about what they're doing, but it's purely informative and not enforced. Since pstree has to show every program, it can't know how they all think about their command lines and has to be very generic.

In essence the structure of a command line is

command-name argument-1 argument-2 argument-3... 

and those arguments could be -x or a sub-command or a path name, and they're all the same until command-name sees them and decides what to do. pstree sees them all in a raw form and just reports them to you when you ask for them.

 
 

Relacionados problema

17  ¿Por qué necesito ejecutar "/ bin / bash --login"  ( Why do i need to run bin bash login ) 
Acabo de configurar un nuevo servidor Ubuntu 13.10 con Ruby 2.1.1 instalado a través de ABCDEFGHIJKLMNABCDEFGHIJKLMN1 . El problema es que siempre que camb...

22  Script de bash que no se ejecuta desde crontab [duplicado]  ( Bash script not executing from crontab ) 
Esta pregunta ya tiene respuestas aquí : ¿Por qué los scripts de Crontab no funcionan? ...

13  La forma más rápida de crear un archivo de un terminal  ( The fastest way to create a file from a terminal ) 
¿Cuál es la forma más sencilla de crear un archivo con una línea de comandos? Generalmente uso: touch filename ¿Pero es esto lo más simple / más rápido?...

0  extracción de la línea del archivo  ( Extract line from file ) 
Un archivo que necesito para extraer información de aspecto 2 41620 . T G 100 PASS AC=3;AF=0.000599042;AN=5008;NS=2504;DP=...

3  Directorio de escritorio que no se abren  ( Desktop directory not opening ) 
Soy completamente nuevo en Ubuntu o cualquier distribución de Linux por completo. Mientras usa el terminal, cuando estoy en el directorio / home / username ...

2  ¿Por qué mi script de Shell no está ejecutando? [cerrado]  ( Why is my shell script not executing ) 
cerrado . Esta pregunta necesita detalles o claridad . Actualmente no está aceptando respuestas. ...

6  Mi función de bash se ejecuta solo una vez por terminal abierto  ( My bash function runs only once per terminal opened ) 
Cuando intento ejecutar mi función de bash, definida en .bashrc, por segunda vez en el mismo terminal, no funciona. El código es el siguiente: lspci6 ...

3  ¿Cómo configurar la información de la información de SVN? ¿Idioma de resultado de la llamada?  ( How to set svn info response call result language ) 
He localizado Ubuntu 11.10. Pero todos mis scripts usan cosas como REMOTE_REV=`svn info $REMOTE_REPO | grep '^Revision:' | awk '{print $2}'` donde en...

0  ¿Cómo podemos evitar ingresar la ruta de cada archivo diferente cada vez en un script Shell?  ( How can we avoid entering the path of every different file each time in a shell ) 
Tengo que enviar un script para Slurm. Debería ingresar la ruta del directorio cada vez que cambie la ruta del script de envío. Por ejemplo, si estoy en fold...

9  Solicitar líneas de 'Acceso denegado "  ( Taking out access denied lines ) 
Cuando utilizo find para ver todos los archivos PDF en el directorio /home , estoy viendo access denied . Para eliminarlos, lo intenté: find /home -ina...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos