পাইপ ব্যবহার করে চলমান প্রক্রিয়াটির স্টিডিনকে লিখুন


8

আমি এই পোস্টে যেমন একই পরিস্থিতিতে আছি তবে উত্তরটি কেবলমাত্র সেই প্রশ্নের সাথে সম্পর্কিত বলে মনে হচ্ছে আমার পরিস্থিতিটি কাজ করার জন্য সেখানে প্রদত্ত সমাধান আমি পাইনি।

বিশেষত, আমি বুঝতে পারি না যে এর উদ্দেশ্য কী

cat my.fifo | nc remotehost.tld 10000

আমার ক্ষেত্রে, আমার একটি প্রক্রিয়া চলছে এবং ইনপুটটির জন্য অপেক্ষা করছে। নামী পাইপ ব্যবহার করে কীভাবে আমি সেই প্রক্রিয়াতে ইনপুট পাঠাতে পারি?

আমি চেষ্টা করেছি echo 'h' > /proc/PID/fd/0এটি "উইন্ডো" প্রসেসের উইন্ডোতে প্রদর্শিত হবে।

উত্তর:


13

কেবল যে রেখাগুলি রয়েছে তা এড়িয়ে ncচলুন, এই প্রশ্নগুলির ওপি নেটওয়ার্কের মাধ্যমে ডেটা স্থানান্তর করতে এটি ব্যবহার করতে চায় nc

এটি আপনাকে ছেড়ে দেয়:

mkfifo yourfifo
cat > yourfifo &
mypid=$!
yourprogram < yourfifo

এখন আপনি নিজের প্রোগ্রামে ডেটা প্রেরণ করতে পারেন

echo "Hello World" > yourfifo

আপনি যদি সম্পন্ন হয়ে থাকেন তবে আপনার প্রোগ্রামটি সমাপ্ত করুন, kill $mypidফিফোটি উন্মুক্ত রাখতে এবং rm yourfifoনামযুক্ত পাইপ থেকে মুক্তি পাওয়ার জন্য ডামি প্রক্রিয়া থেকে মুক্তি পাওয়ার জন্য কমান্ডটি জারি করুন ।


2
কি cat > yourfifo &করছে?
আলেকজান্ডার মিলস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.