本文介绍如何在PowerShell中获取当前PowerShell进程的PID,然后用它来做一些有趣的事情。

有没有试过在powershell命令行窗口中输入“$pid”?试试看。

PS C:\Users\zhanghong> $pid

4404

对于PID,我们貌似不陌生。是的,它就是一个进程的进程ID。那这里的“$pid”是谁的进程ID呢?是当前powershell这个命令行窗口的powershell进程的进程ID。注意,洪哥在先打开一个cmd.exe,再在cmd窗口中输入powershell进入powershell环境的。所以,这里的PID,不是cmd.exe的的进程ID,而是powershell.exe的进程ID。

好了,搞清楚这个“$pid”是什么之后,我们来看看它有什么用。很明显,我们可以通过这个“$pid”来获取到当前的powershell进程对象。然后看看它是什么时间启动的,然后把这个进程杀掉什么的。

先来显示一下当前时间,再看看进程启动的时间。

PS C:\Users\zhanghong> get-date

2013年9月18日 9:05:07

PS C:\Users\zhanghong> (Get-Process -pid $pid).starttime

2013年9月18日 9:03:34

杀掉它,注意命令行提示符的变化。已经由powerShell环境重新回到cmd.exe的环境了。这里的kill即Stop-Process这个cmdlet。

PS C:\Users\zhanghong> kill $pid

C:\Users\zhanghong>

好了,关于PowerShell获取当前命令行窗口进程的PID,洪哥就介绍这么多,希望对大家有所帮助,谢谢!

03-15 19:20