Suz*_*Suz 61 python simplehttpserver d3.js
所以我正在努力学习d3,wiki建议这样做
要在本地查看示例,您必须具有本地Web服务器.任何Web服务器都可以工作; 例如,您可以运行Python的内置服务器:
python -m SimpleHTTPServer 8888 &
很棒...只是现在我有一台服务器正在运行...但在某些时候我想我应该再次关闭它.
关闭它比使用更好的方法kill <pid>吗?对于一份小工作来说,这似乎是一件大事.
(我正在运行Mac OS 10.6.8(Snow Leopard))
FWIW:ctrl+c提供大约10行追溯,抱怨被打断.
kill -3 <pid> 在一个单独的窗口中发出一个Finder警告'Python意外退出'.
默认kill <pid>并且kill -15 <pid>相对干净(而且简单).
xbe*_*llo 37
您只是向进程发送信号.kill是发送这些信号的命令.
键盘命令Ctrl + C(?+ C)发送SIGINT,kill -9发送SIGKILL,并kill -15发送SIGTERM.
您想将什么信号发送到服务器以结束它?
cod*_*aif 31
如果你已经启动了服务器
python -m SimpleHTTPServer 8888
Run Code Online (Sandbox Code Playgroud)
然后你可以按ctrl + c来关闭服务器.
但是如果你已经启动了服务器
python -m SimpleHTTPServer 8888 &
Run Code Online (Sandbox Code Playgroud)
要么
python -m SimpleHTTPServer 8888 & disown
Run Code Online (Sandbox Code Playgroud)
你必须先看清单才能杀死进程,
运行命令
ps
Run Code Online (Sandbox Code Playgroud)
要么
ps aux | less
Run Code Online (Sandbox Code Playgroud)
它会告诉你一些这样的运行过程..
PID TTY TIME CMD
7247 pts/3 00:00:00 python
7360 pts/3 00:00:00 ps
23606 pts/3 00:00:00 bash
Run Code Online (Sandbox Code Playgroud)
你可以从这里得到PID.并通过运行此命令杀死该进程..
kill -9 7247
Run Code Online (Sandbox Code Playgroud)
这里7247是python id.
此外,由于某种原因,如果端口仍然打开,您可以使用此命令关闭端口
fuser -k 8888/tcp
这里8888是python打开的tcp端口.
希望现在清楚.
Abd*_*UMI 13
MYPORT=8888;
kill -9 `ps -ef |grep SimpleHTTPServer |grep $MYPORT |awk '{print $2}'`
Run Code Online (Sandbox Code Playgroud)
这就对了 !!
ps -ef :列出所有进程.
grep SimpleHTTPServer :过滤进程属于"SimpleHTTPServer"
grep $MYPORT :过滤再次进程属于"SimpleHTTPServer",其中端口是MYPORT(.ie:MYPORT = 8888)
awk '{print $2}' :打印结果的第二列,即PID(进程ID)
kill -9 <PID> :使用适当的PID强制终止进程.
原来有一个关机,但这必须从另一个线程启动。
这个解决方案对我有用:https : //stackoverflow.com/a/22533929/573216
当您将程序作为后台进程运行时(通过&在它后面添加一个),例如:
python -m SimpleHTTPServer 8888 &
Run Code Online (Sandbox Code Playgroud)
如果终端窗口仍然打开,您可以执行以下操作:
jobs
Run Code Online (Sandbox Code Playgroud)
获取正在运行的 shell 进程中所有后台作业的列表。
它可能看起来像这样:
$ jobs
[1]+ Running python -m SimpleHTTPServer 8888 &
Run Code Online (Sandbox Code Playgroud)
要终止工作,您可以执行终止kill %1工作“[1]”,或者执行fg %1将工作置于前台(fg)然后使用 ctrl-c 终止它。(只需输入即可fg将最后一个后台进程置于前台)。
关于 SimpleHTTPServer,它似乎kill %1比fg+ ctrl-c更好。至少它不会用 kill 命令抗议。
以上已经在 Mac OS 中测试过,但据我所知,它在 Linux 中的工作原理是一样的。
更新:为此,必须直接从命令行启动 Web 服务器(逐字第一个代码片段)。使用脚本来启动它会使进程超出jobs.
| 归档时间: |
|
| 查看次数: |
80389 次 |
| 最近记录: |