小编isa*_*nat的帖子

在Mac上查找(并终止)进程锁定端口3000

如何查找侦听/使用我的tcp端口的进程?我在mac os x上.

有时,在崩溃或一些错误后,我的rails应用程序锁定端口3000.我找不到它使用ps -ef ...我怎么找到愚蠢的东西并杀死它,残忍......?

做的时候

rails server
Run Code Online (Sandbox Code Playgroud)

我明白了

已经在使用的地址 - bind(2)(Errno :: EADDRINUSE)

2014年更新:

要完成以下某些答案:执行kill命令后,可能需要删除pid文件 rm ~/mypath/myrailsapp/tmp/pids/server.pid

macos process

1595
推荐指数
25
解决办法
141万
查看次数

Go:空花括号对数组初始化内存分配的影响

我正在尝试用不同的方式在 golang 中初始化/声明数组。我得到了不同的行为/结果。

go版本go1.3 darwin/amd64

版本1:

func main() {
    a := [100000000]int64{}
    var i int64
    for i = 0; i < 100000000; i++ {
        a[i] = i
    }
}
Run Code Online (Sandbox Code Playgroud)

生成 763MB 的二进制文件。当我使用此消息运行它时,它会在几秒钟后崩溃。

运行时:goroutine 堆栈超过 1000000000 字节限制

致命错误:堆栈溢出

版本2:

func main() {
    var a [100000000]int64
    var i int64
    for i = 0; i < 100000000; i++ {
        a[i] = i
    }
}
Run Code Online (Sandbox Code Playgroud)

生成 456KB 的二进制文件。它运行时间不到一秒。

问题:

谁能帮助我理解为什么存在这些差异(以及我可能错过的其他差异)?谢谢!

编辑:

运行时间:

我构建了两个不同的代码片段并运行编译后的版本,因此没有添加编译时间。相比之下,我第一次运行 version1 的速度非常慢。这是输出。

go build version1.go
go build version2.go
Run Code Online (Sandbox Code Playgroud)

这些是执行输出

版本1

第一次运行 …

arrays static memory-management initialization go

5
推荐指数
1
解决办法
2133
查看次数

使用clpfd的SWI-Prolog堆栈限制超出了很小的问题空间

我尝试显示这种行为的一个最小的例子。这是我加载的代码:

:- use_module(library(clpfd)).

gcd(A, 0, A) :- !.
gcd(0, B, B) :- !.
gcd(A, B, C) :- A #> B, !, A1 #= A mod B, gcd(A1, B, C).
gcd(A, B, C) :- A #=< B, A1 #= B mod A, gcd(A1, A, C).

ncalc(N, X, Y) :-
    Y #=< N,
    X*X #= (Y),
    X #< Y,
    X #> 0,
    gcd(X, Y, 1).
Run Code Online (Sandbox Code Playgroud)

查询ncalc(9, X, Y).我得到:

ERROR: Stack limit (1.0Gb) exceeded
ERROR:   Stack sizes: local: 1Kb, global: 0.7Gb, …
Run Code Online (Sandbox Code Playgroud)

prolog swi-prolog clpfd

3
推荐指数
1
解决办法
134
查看次数