1

让geth rpc以守护进程方式运行

一、daemonize

当我们ssh到服务器端, 运行geth --datadir yourdir --rpc --rpc.....命令时, 结束会话时, 该进程也会结束. 那想让它运行在后台, 并不会随着会话结束而结束, 就只能把它变成守护进程了.

php 必须开启pcntl扩展.

<?php

//daemonize.php

function daemonize()
{
        $pid = pcntl_fork();

        if ($pid > 0) {
                //main process
                exit(0);
        } elseif ($pid < 0) {
                //fork failed
                echo "fork failed";
        }

        posix_setsid();

        $pid = pcntl_fork();

        if ($pid > 0) {
                exit(0);
        } elseif ($pid < 0) {
                echo "fork failed";
        }

        fclose(STDOUT);
}


daemonize();
exec("geth --datadir /home/youraccount/yourdir --networkid 20 --rpc --rpcaddr 0.0.0.0 --rpccorsdomain \"*\" --rpcapi db,net,eth,web3,personal,miner,debug,admin --mine --verbosity 0 ");
sudo php daemonize.php

就可以以守护进程方式启动了


church
3.6k 声望67 粉丝