প্রকল্প সম্পর্কে
running-process হলো Rust-এ লেখা একটি ক্রস-প্ল্যাটফর্ম অপারেটিং-সিস্টেম প্রসেস রানটাইম, যার প্রথম-শ্রেণির Python বাইন্ডিং রয়েছে। এটি প্রসেস তৈরি, পাইপ, PTY, প্রসেস ট্রি, কন্টেইনমেন্ট, অবজারভেশন, ডিটাচড ডেমন এবং ব্রোকার-ভিত্তিক দীর্ঘজীবী সার্ভিসের উপর একটি একীভূত অ্যাবস্ট্রাকশন প্রদান করে।
লাইব্রেরিটি বিভিন্ন প্ল্যাটফর্মে OS প্রসেস আচরণের অ-পোর্টেবল প্রকৃতির সমস্যার সমাধান করে — Windows Job Objects এবং ConPTY, Unix প্রসেস গ্রুপ ও সিগন্যাল, Linux ptrace ট্রেসিং, নেমড পাইপ, চাইল্ড রিপিং এবং টার্মিনাল কন্ট্রোলের লাইফটাইম ও ব্যর্থতার নিয়ম ভিন্ন ভিন্ন। running-process এগুলোকে একটি Rust কোরের মধ্যে encapsulate করে, যা Rust API এবং Pythonic sync/asyncio সারফেস উভয়ের মাধ্যমে প্রকাশ করা হয়।
প্রধান সক্ষমতাগুলোর মধ্যে রয়েছে:
- কমান্ড ও স্ট্রিম: একসাথে stdout/stderr ক্যাপচার, সীমাবদ্ধ অপেক্ষা, টাইপড এক্সিট, টেক্সট ও বাইট হ্যান্ডলিং।
- ইন্টারঅ্যাকটিভ টার্মিনাল: Windows (ConPTY), Linux এবং macOS-এ নেটিভ PTY, expect নিয়ম, ইনপুট রিলে, রিসাইজ, ইন্টারাপ্ট এবং আইডল ডিটেকশন সহ।
- প্রসেস-ট্রি লাইফটাইম: কন্টেইনমেন্ট, রিকার্সিভ terminate/kill, ডিসেন্ড্যান্ট ক্লিনআপ, অরিজিনেটর ট্যাগিং এবং জম্বি-সচেতন ট্র্যাকিং।
- অবজারভেশন: লাইফসাইকেল ইভেন্ট, প্রসেস ওয়াচ, ptrace-এর মাধ্যমে সঠিক Linux ট্রি ট্রেসিং, স্ট্যাক ক্যাপচার এবং স্পষ্ট লস রেকর্ড।
- টেকসই এক্সিকিউশন: ডিটাচড লঞ্চ, ডেমন লাইফসাইকেল, ব্রোকার নেগোশিয়েশন, সেশন রিলে, হেলথ প্রোব এবং অ্যাডমিন ডায়াগনস্টিকস।
- অপারেটর টুলিং: সুপারভিশন CLI, ক্লিনআপ ম্যানিফেস্ট, টার্মিনাল ক্যাপাবিলিটি ডিটেকশন এবং প্রসেস ড্যাশবোর্ড।
Python প্যাকেজটি আলাদা কোনো পুনর্বাস্তবায়ন নয় — এর বাইন্ডিংগুলো নেটিভ কনজিউমারদের ব্যবহৃত একই Rust প্রসেস ইঞ্জিন কল করে। subprocess_run, RunningProcess, InteractiveProcess এবং ContainedProcessGroup-এর মতো মৌলিক API কোনো ব্রোকার বা ডেমন সেটআপ ছাড়াই কাজ করে। সুপারভাইজড, ক্রস-সেশন প্রসেস ম্যানেজমেন্টের জন্য ডেমন/ব্রোকার ফ্রেমওয়ার্ক উপলব্ধ।
Windows 10-এ, লাইব্রেরিটি আধুনিক টার্মিনাল আচরণের জন্য স্বচ্ছভাবে একটি ConPTY সাইডকার ফেচ ও ক্যাশ করে, SHA-256 ভেরিফিকেশন এবং kernel32-এ অফলাইন ফলব্যাক সহ। Rust কলারদের জন্য টার্মিনাল গ্রাফিক্স ক্যাপাবিলিটি ডিটেকশন (Sixel, Kitty, iTerm2) উপলব্ধ।
একটি CLI র্যাপার ইনঅ্যাক্টিভিটি ও ওয়াল-ক্লক টাইমআউট, ট্রি টার্মিনেশন এবং লিক ডিটেকশন সহ সুপারভাইজড কমান্ড এক্সিকিউশন প্রদান করে। একটি ক্লিনআপ ইউটিলিটি সুপ্ত ডেমন রুট প্রুনিংয়ের জন্য ব্রোকার ক্যাশ ম্যানিফেস্ট পড়ে।
লাইব্রেরিটি Soldr-এ প্রমাণিত, যা এটি তার প্রসেস ক্রিয়েশন বাউন্ডারি এবং ডেমন/ব্রোকার ভিত্তি হিসেবে ব্যবহার করে। এটি PyPI এবং Crates.io-তে বিতরণ করা হয়, যার CI Linux, macOS এবং Windows কভার করে।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.