runc
OCI Runtime Specification-এর reference implementation — একটা ছোট, one-shot CLI টুল যা config.json পড়ে namespace/cgroup/mount syscall চালিয়ে container-এর entrypoint execve() করে, তারপর নিজে প্রসেস হিসেবে আর থাকে না।
also: OCI reference runtime, runc CLI
runc create <id> -> namespace+cgroup+mount সেটআপ, entrypoint এখনো চলেনি
runc start <id> -> execve(entrypoint) -- runc নিজেই এখন সেই প্রসেস
runc kill/delete -> সিগন্যাল পাঠানো / cgroup+state ফাইল পরিষ্কার করা
- daemon না — প্রতিটা invocation একবার চলে, কাজ শেষে exit করে (বা execve()-এ নিজের process-image replace হয়ে যায়)
- create/start আলাদা ধাপ হওয়ায় মাঝখানে higher-level tooling network namespace-এ veth attach করার সুযোগ পায় (CNI plugin-এর ভিত্তি)
- containerd-shim runc-কে invoke করে, কিন্তু runc exit করার পরও container চলতে থাকে — persistent tracking shim-এর কাজ, runc-এর না