これは、ps
コマンドを実行したときに得られるものです。
$ ps
PID TTY TIME CMD
14777 ttys000 0:00.25 -bash
19716 ttys000 0:00.15 vi templates/base.html
8240 ttys001 0:00.11 -bash
8284 ttys002 0:00.04 -bash
14832 ttys004 0:00.06 -bash
17504 ttys004 0:00.15 python ./app.py
17505 ttys004 1:05.52 /Users/Utka/virtualenv/bin/python ./app.py
19732 ttys005 0:00.02 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server login -fp MrDifferent
19734 ttys005 0:00.01 -bash
MacでCmd + Wを押して、誤ってターミナルを閉じてしまいました。ターミナルを再度開くと、ps
リストに表示されます。作業を再開したいと思います。
Vimプロセス(19716)を再アクティブ化して編集したい。その特定のvimプロセスを再開するには、どのコマンドを実行する必要がありますか?
base.html
が配置されているディレクトリに戻り、.base.html.swp
という名前のファイルを探します。存在する場合は、vi -r base.html
を実行して、ファイルの最後の状態を回復できるはずです。
$ ls -a | grep base
base.html
.base.html.swp
$ kill 19716 #your vim process
$ vi -r base.html
[ save your changes, quit ]
$ rm -f .base.html.swp
短い:いいえ、できません
long:parentプロセスが直接シェルでない限り、実際にはviはおそらく実行されません。 ps -efl
を使用し、PPID
からPID
のデータに従って何が実行されているかを確認できます。
ただし、fg
を使用してフォアグラウンドに切り替えることができるのはjobではありません。これは、現在のシェルのサブプロセスでのみ機能します。
inspectgdb
またはdtrace
を使用してプロセスを実行できますが、プロセスの制御が失われています。