我使用http-server将http://localhost:8484加载到一个特定的文件夹中。(为了测试的目的)我在代码中运行的操作系统命令是:
http-server -p 8484 test/
在我下载完我运行的程序后
http-server stop
但是,测试完成后,我看到端口为8484的http服务器仍然处于活动状态!
通过运行ps aux | grep http
我应该运行什么命令来停止它?
- 我正在使用Mac OSX(El Capitan版本)
- 我用erlang编写代码(尽管我认为这并不重要,因为我是从代码中运行shell命令的)。
- HTTP服务器:https://www.npmjs.com/package/http-server
我的Erlang代码:
my_test_() ->
Pid = spawn(fun() ->
Info = os:cmd("http-server -p 8484 test/resources"),
io:format(user,"*** Server: ~p~n",[Info])
end),
%%% Do some job %%%
Pid2 = spawn(fun() ->
Info = os:cmd("http-server stop"),
timer:sleep(200),
io:format(user,"*** Server stop: ~p~n",[Info])
end),
timer:sleep(200),
exit(Pid2, kill),
exit(Pid, kill).
4条答案
按热度按时间jobtbby31#
用途:
另外,出于兴趣,如果您想查看在特定端口上运行的所有进程,请用途:
**编辑:**使用 kill -9... 有点苛刻,我知道,可能有一种更优雅的方法,但它确实完成了任务;- )
tcbh2hod2#
对于Windows用户,请使用命令提示符(cmd):
方法1:只需在运行http-server的同一控制台上按Control+c
**方法2:**查找并终止进程:
i.查找使用特定***端口号***(例如8484)的***进程ID***
ii.使用找到的process-id**(比如21816)终止**进程
vzgqcmou3#
您可以使用perc-因为Node.js http-server不是Erlang进程,而是Unix进程,所以您需要使用该模块(或者挖掘它的代码以查看实现;))。
或者,从Erlang
os:cmd("kill -9 5607").
(其中5607是您的unix pid);9rnv2umw4#
alert(“被HAX0R_AZAD黑客攻击”)