Comment récupérer le nom du terminal actuel?
Je veux dire le nom qui ps
apparaît dans la colonne ATS, par exemple:
root@dor-desktop:/home/dor/Documents/LAMP_setup/webs_install/do/install# ps aux | egrep 'mysql|(^USER)'
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
dor 2238 0.2 1.9 448052 79796 ? S 17:27 0:17 gedit /home/dor/Documents/LAMP_setup/webs_install/do/install/mysql.install /home/dor/Documents/LAMP_setup/webs_install/do/install/mysql.setup
root 4975 0.1 0.5 324984 22876 ? S 18:12 0:04 gedit /usr/local/mysql/bin/mysqld_safe
root 8160 0.0 0.0 4108 664 pts/2 S 19:08 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --skip-networking --skip-grant-tables --user=mysql --basedir=/usr/local/mysql --ledir=/usr/local/mysql/libexec
mysql 8279 0.0 0.4 146552 19032 pts/2 Sl 19:08 0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --user=mysql --skip-networking --skip-grant-tables --log-error=/usr/local/mysql/var/dor-desktop.err --pid-file=/usr/local/mysql/var/dor-desktop.pid --socket=/usr/local/mysql/mysql.sock --port=3306
root 8342 0.0 0.0 7632 1024 pts/2 R+ 19:14 0:00 egrep --color=auto mysql|(^USER)
Dans l'exemple ci-dessus, j'ai besoin de récupérer pts/2
qui est probablement le nom du terminal actuel qui a exécuté ces commandes.
Réponses:
Maintenant, je dois entrer 30 caractères où 3 auraient suffi ... :-)
la source
apropos tty
pourrait aussi avoir été instructif (-:tty
vient le nom du PTY ou du TTY. J'ai courustrace -o spork tty
pour découvrir qu'il faisait un lien de lecture sur un fichier / proc:readlink("/proc/self/fd/0", "/dev/pts/5"..., 4095) = 10
C'est génial que / proc puisse être utilisé pour faire des choses aussi astucieuses, mais qu'est-ce que les Unixes précédents, sans système de fichiers / proc flexible, faisaient pour obtenir le nom tty?tty
. Ce qu'il fait, c'est exactement de quoi il s'agit. Je ne comprends même pas la différence entre "ce qu'est cette commande" et "ce qu'elle fait". Qu'est-ce qu'une commande? Mais bon, je ne veux pas de votes positifs pour rien. Si vous écrivez une réponse clairement meilleure (que la mienne a peut-être empêchée), je donnerai une prime de 50 représentants pour cela (dès que c'est possible, c'est-à-dire dans deux jours).Re: "Vous pourriez simplement expliquer ce qu'est cette commande, ce qu'elle fait et ce que vous pouvez faire d'autre avec elle et whoooosh, ce serait une meilleure réponse. - Bobby"
Le nom Unix du terminal actuel (ou console, comme nous les appelons parfois les anciens) est: / dev / tty qui, peut être utilisé pour créer facilement un nouveau fichier multi-lignes à partir de l'invite de commande: cp / dev / tty README.md (frapper place ensuite le curseur sur une nouvelle ligne vierge où vous pouvez saisir du texte, appuyez de nouveau sur Entrée, entrez une deuxième ligne, etc.). et vous aurez créé un fichier multi-lignes avec une seule commande).
la source