Schreiben Sie ein Skript, das ps
zur Identifizierung von ttys verwendet wird, und verwenden Sie dann lsof
, um das aktuelle Arbeitsverzeichnis abzurufen. Ich schreibe das Skript nicht für Sie, aber hier sind zwei Beispiele, die Sie zum Laufen bringen sollten:
Die -f
Option ps
ttys anzeigen:
$ ps -f UID PID PPID C STIME TTY TIME CMD 503 1019 1015 0 0:00.33 ttys000 0:00.43 -bash 503 72786 1019 0 0:00.04 ttys000 0:00.06 ssh c10 503 1275 1188 0 0:00.17 ttys001 0:00.21 /bin/bash --noediting -i 503 1789 1188 0 0:00.04 ttys002 0:00.05 /bin/bash --noediting -i 503 4191 1188 0 0:00.06 ttys003 0:00.07 /bin/bash --noediting -i 503 7430 7429 0 0:00.18 ttys004 0:00.26 -bash 503 74273 74272 0 0:00.02 ttys007 0:00.03 -bash 503 74310 74309 0 0:00.01 ttys008 0:00.02 -bash
In diesem Beispiel wird nach Bash-Prozessen gesucht. Sie können jedoch die Prozess-IDs der vorherigen Ausgabe durchlaufen
$ lsof | grep bash | grep cwd bash 1019 dharris cwd DIR 14,2 1530 1813370 /private/tmp bash 4191 dharris cwd DIR 14,2 1122 40387322 /Users/dharris/src bash 7430 dharris cwd DIR 14,2 4420 807137 /Users/dharris bash 74273 dharris cwd DIR 14,2 306 1856173 /Applications/Preview.app/Contents bash 74310 dharris cwd DIR 14,2 612 1657335 /opt/local/etc bash 74343 dharris cwd DIR 14,2 4420 807137 /Users/dharris