এটি করা নিরাপদ তবে স্বাভাবিকভাবে আপনি অনুলিপিটি শেষ নাও করতে পারেন।
যখন cp
কমান্ডটি প্রয়োগ করা হয়, এটা syscalls যে ফাইল কপি করতে কার্নেল নির্দেশ করে তোলে। সিস্কাল এমন একটি ফাংশন যা একটি অ্যাপ্লিকেশন কল করতে পারে যা কার্নেল থেকে একটি পরিষেবা অনুরোধ করে যেমন ডিস্কে ডেটা পড়া বা লেখার জন্য। ইউজারস্পেস প্রক্রিয়াটি কেবলমাত্র সিস্কালটি শেষ হওয়ার জন্য অপেক্ষা করে। আপনি যদি কলগুলি সন্ধান করতে চান তবে এটির মতো দেখতে লাগবে:
open("/home/user/hello.txt", O_RDONLY) = 3
open("/mnt/hello.txt", O_CREAT|O_WRONLY, 0644) = 4
read(3, "Hello, world!\n", 131072) = 14
write(4, "Hello, world!\n", 14) = 14
close(3) = 0
close(4) = 0
এটি অনুলিপি করা প্রতিটি ফাইলের জন্য পুনরাবৃত্তি করে। এই সাইককলগুলি যেভাবে কাজ করে তার কারণে কোনও দুর্নীতি ঘটবে না। যখন এই জাতীয় সিস্টেমে প্রবেশ করা হয় তখন মারাত্মক সংকেত কেবলমাত্র সিস্কালটি শেষ হওয়ার পরে কার্যকর হবে , এটি চলমান অবস্থায় নয়। এ কারণে, জোর করে হত্যা করা প্রক্রিয়াটি কেবল বর্তমানে চলমান সিস্কেলটি শেষ হওয়ার পরে এটি বন্ধ করার কারণ ঘটবে। এর অর্থ হ'ল কার্নেল, যেখানে ফাইল-সিস্টেম ড্রাইভার বাস করে, ফাইল সিস্টেমটি বুদ্ধিমান অবস্থায় রাখার জন্য প্রয়োজনীয় অপারেশনগুলি সম্পূর্ণ করতে মুক্ত। এই ধরণের কোনও I / O কখনই অপারেশনের মাঝামাঝি সময়ে শেষ হবে না, এগুলি পরমাণু অপারেশন করে।
মজার বিষয় হল, এ কারণেই কমান্ডগুলি cp
হত্যা করার সাথে সাথেই তা বন্ধ হতে পারে। আপনি যদি খুব বড় ফাইলটি অনুলিপি করে এবং এটিকে মেরে ফেলেন, এমনকি সিগকলের মাধ্যমেও, প্রক্রিয়াটি বর্তমান সিস্কেল শেষ না হওয়া অবধি চলবে run একটি বৃহত ফাইল সহ, এটি কিছুটা সময় নিতে পারে, কারণ প্রক্রিয়াটি নিরবচ্ছিন্ন অবস্থায় থাকবে।