J'utilise du mastic pour connecter mon serveur linux dans lequel se trouvent mes sites. Je peux exécuter
# ps aux | less
pour afficher les processus en cours. Mais je veux afficher les fichiers exécutant ces processus?
J'ai aussi essayé
# ps aux | grep <pid>
Mais obtenir cette erreur:
-bash: syntax error near unexpected token `newline'
Quelle est la bonne façon de procéder?
linux
process
open-files
tshepang
la source
la source
grep <pid>
, vous êtes censé remplacer<pid>
par votre identifiant de processus réel (c'est un nombre).<pid>
est juste un espace réservé, pas quelque chose que vous devez réellement taper.Réponses:
ps aux | grep <pid>
n'est pas une commande shell. La notation<pid>
est une convention courante pour signifier «mettre le PID là». Par exemple, si le PID est 1234, vous devez exécuterps aux | grep 1234
. Ce n'est pas une commande très utile, vous pourriez aussi bien l'exécuterps u 1234
.Votre question n'est pas très claire. Qu'entendez-vous par «avec des noms de fichiers»? Si vous voulez voir quel exécutable le processus 1234 est en cours d'exécution:
Si vous voulez voir quels fichiers ce processus a ouverts:
Si vous voulez voir la ligne de commande complète avec des arguments:
Si vous préférez utiliser des commandes,
lsof -p1234
affiche tous les fichiers ouverts par le processus.ps uww 1234
affiche diverses informations sur le processus 1234, y compris la ligne de commande complète.la source
essayez d'exécuter ce qui suit:
la source
Tout d'abord,
ps aux | grep <PID>
est utile lorsque vous souhaitez afficher les détails d'un processus spécifique dontPID
(Identificateur de processus) est représenté par<PID>
.Par exemple (
ps aux | grep 'firefox\|USER'
signifie imprimer uniquement les lignes qui contiennentfirefox
ouUSER
):Ainsi, le PID pour mon
firefox
instance est 9021. Donc, pour utiliser la commande que vous essayez d'exécuter, je remplacerais<PID>
par9021
:Maintenant, je ne sais pas ce que vous entendez par "afficher les fichiers exécutant ces processus". Si vous voulez dire quels fichiers ces processus utilisent,
ps aux
c'est une façon de le faire. Disons que j'ai ouvert le fichier à l'/usr/share/doc/nano/faq.html
aide de cette commande:Je pouvais voir quel fichier
firefox
s'était ouvert en utilisantps
:Le fichier ouvert apparaît comme l'un des arguments transmis à Firefox. Notez que le PID est différent (il est maintenant à la
31763
place de9021
), car chaque programme en cours d'exécution a son propre PID unique.Une autre commande utile est
top
. Si vous l'exécutez avec le-c
commutateur, il affichera les arguments passés à une commande et, avec-u <your user>
lui, affichera uniquement les processus démarrés par votre nom d'utilisateur (remplacez-les<your user>
par votre nom d'utilisateur réel):Il s'agit de la sortie sur ma machine locale (l'utilisateur
terdon
n'exécute que deux processus):Pour une explication des informations affichées par
top
, voir ma réponse à une question connexe sur SU.la source
certains caractères sous shell sont à des fins spéciales comme <>? "; ...
grep PID n'est pas utile car PID est l'identifiant du processus et grep trouvera des valeurs numériques similaires ...
la source