Futures
Access hundreds of perpetual contracts
TradFi
Gold
One platform for global traditional assets
Options
Hot
Trade European-style vanilla options
Unified Account
Maximize your capital efficiency
Demo Trading
Introduction to Futures Trading
Learn the basics of futures trading
Futures Events
Join events to earn rewards
Demo Trading
Use virtual funds to practice risk-free trading
Launch
CandyDrop
Collect candies to earn airdrops
Launchpool
Quick staking, earn potential new tokens
HODLer Airdrop
Hold GT and get massive airdrops for free
Pre-IPOs
Unlock full access to global stock IPOs
Alpha Points
Trade on-chain assets and earn airdrops
Futures Points
Earn futures points and claim airdrop rewards
Promotions
AI
Gate AI
Your all-in-one conversational AI partner
Gate AI Bot
Use Gate AI directly in your social App
GateClaw
Gate Blue Lobster, ready to go
Gate for AI Agent
AI infrastructure, Gate MCP, Skills, and CLI
Gate Skills Hub
10K+ Skills
From office tasks to trading, the all-in-one skill hub makes AI even more useful.
GateRouter
Smartly choose from 40+ AI models, with 0% extra fees
Ran several backend process strategies and took a loss:
Clearly the process is running, and the data is fresh, but PM2 shows it as stopped.
If I trust PM2 to restart directly, it ends up interrupting the processes that are still working.
Later I understood: PM2 / launchd / pid files are just registration layers — whether they record the process or not is one thing, whether the process is actually running is another.
You really need to look at the health files produced by the process itself — the most recent update was a few minutes ago + the process count matches = alive.
I wrote a monitoring script that reports 4 values for each process at the same time:
- Is the process running (checked with ps)
- Is it registered with PM2 / launchd
- How long ago was the health file last updated
- Whether the three match up correctly
As long as the health file is recent, it’s not treated as dead.
Engineering lesson: To judge whether the "system is alive," don’t rely on what your monitoring layer says, look at whether the system’s own output is recent.