= 2) { $status = 'RUNNING'; } } ?>
GHOST DAEMON BEST COIN 베스트 코인 유령 데몬
PID 파일 경로:
PID 파일 존재:
PID 값: []
DAEMON RUNNING 🔴 DAEMON STOPPED
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (Throwable $e) {} // API $api = require '/home/www/DB/upbit_api_url.php'; $API_TICKER = $api['ticker'] . '?markets='; function http_get_json($url){ $ctx = stream_context_create([ 'http'=>[ 'timeout'=>6, 'header'=>"User-Agent: upbit-daemon\r\n", ] ]); $raw = @file_get_contents($url,false,$ctx); if ($raw === false) return null; $j = json_decode($raw,true); return is_array($j) ? $j : null; } // =============================== // FIXED KRW MARKETS (7종목 고정) // =============================== $krw = [ 'KRW-BTC', 'KRW-ETH', 'KRW-XRP', 'KRW-DOGE', 'KRW-ADA', 'KRW-SOL', 'KRW-BCH', ]; // =============================== // SQL (기존 그대로) // =============================== $stmt = $pdo->prepare(" INSERT INTO daemon_upbit_Ticker ( market, trade_date, trade_time, trade_date_kst, trade_time_kst, opening_price, high_price, low_price, trade_price, prev_closing_price, `change`, change_price, change_rate, signed_change_price, signed_change_rate, trade_volume, acc_trade_volume, acc_trade_volume_24h, acc_trade_price, acc_trade_price_24h, highest_52_week_price, highest_52_week_date, lowest_52_week_price, lowest_52_week_date, collected_at, collected_ms, day_of_week, daemon_id, daemon_pid, daemon_heartbeat ) VALUES ( :market, :trade_date, :trade_time, :trade_date_kst, :trade_time_kst, :opening_price, :high_price, :low_price, :trade_price, :prev_closing_price, :change, :change_price, :change_rate, :signed_change_price, :signed_change_rate, :trade_volume, :acc_trade_volume, :acc_trade_volume_24h, :acc_trade_price, :acc_trade_price_24h, :highest_52_week_price, :highest_52_week_date, :lowest_52_week_price, :lowest_52_week_date, :collected_at, :collected_ms, :day_of_week, :daemon_id, :daemon_pid, :daemon_heartbeat ) ON DUPLICATE KEY UPDATE trade_price=VALUES(trade_price), change_rate=VALUES(change_rate), daemon_pid=VALUES(daemon_pid), daemon_heartbeat=VALUES(daemon_heartbeat), collected_at=VALUES(collected_at), collected_ms=VALUES(collected_ms) "); // =============================== // LOOP // =============================== while (true) { $ms = (int)(microtime(true) * 1000); $at = date('Y-m-d H:i:s'); $tks = http_get_json($API_TICKER . implode(',', $krw)); if (!$tks) { usleep(200000); continue; } foreach ($tks as $t) { $stmt->execute([ ':market'=>$t['market'] ?? '', ':trade_date'=>$t['trade_date'] ?? '', ':trade_time'=>$t['trade_time'] ?? '', ':trade_date_kst'=>$t['trade_date_kst'] ?? '', ':trade_time_kst'=>$t['trade_time_kst'] ?? '', ':opening_price'=>$t['opening_price'] ?? 0, ':high_price'=>$t['high_price'] ?? 0, ':low_price'=>$t['low_price'] ?? 0, ':trade_price'=>$t['trade_price'] ?? 0, ':prev_closing_price'=>$t['prev_closing_price'] ?? 0, ':change'=>$t['change'] ?? '', ':change_price'=>$t['change_price'] ?? 0, ':change_rate'=>$t['change_rate'] ?? 0, ':signed_change_price'=>$t['signed_change_price'] ?? 0, ':signed_change_rate'=>$t['signed_change_rate'] ?? 0, ':trade_volume'=>$t['trade_volume'] ?? 0, ':acc_trade_volume'=>$t['acc_trade_volume'] ?? 0, ':acc_trade_volume_24h'=>$t['acc_trade_volume_24h'] ?? 0, ':acc_trade_price'=>$t['acc_trade_price'] ?? 0, ':acc_trade_price_24h'=>$t['acc_trade_price_24h'] ?? 0, ':highest_52_week_price'=>$t['highest_52_week_price'] ?? 0, ':highest_52_week_date'=>$t['highest_52_week_date'] ?? '', ':lowest_52_week_price'=>$t['lowest_52_week_price'] ?? 0, ':lowest_52_week_date'=>$t['lowest_52_week_date'] ?? '', ':collected_at'=>$at, ':collected_ms'=>$ms, ':day_of_week'=>(int)date('w'), ':daemon_id'=>$DAEMON_ID, ':daemon_pid'=>getmypid(), ':daemon_heartbeat'=>$ms, ]); } usleep(200000); } } // =============================== // 웹 영역 // =============================== extract($_GET, EXTR_SKIP); // 실행 if (isset($start) && $start === 'yes') { $cmd = 'nohup php ' . escapeshellarg(__FILE__) . ' --daemon > /dev/null 2>&1 &'; @exec($cmd); ?>

베스트 코인 데몬 실행 요청 완료

베스트 코인 유령데몬 삭제 페이지 : 무당 부적 부착 -> 데몬 실행

데몬 삭제 완료"; } ?>

베스트 코인 유령데몬 삭제 페이지 : 무당 휘발 -> 삭제 선택

베스트 코인 유령데몬 관리 페이지 : 플렛폼 0S 테이블 추가