আমি কেন চলমান এক্সিকিউটেবলের নাম পরিবর্তন করতে পারি, তবে এটি মুছতে পারি না?


12

সবকিছু শিরোনামে রয়েছে তবে আরও সরকারীভাবে:

উইন্ডোজ কেন আমাকে চলমান এক্সিকিউটেবলের নাম পরিবর্তন করতে দেয়, তবে এটি মুছে দেয় না?

উত্তর:


12

কোনও ফাইলের নাম পরিবর্তন করার মতো আসলে কিছুই নেই। একটি ফাইলের একাধিক নাম বা নাম থাকতে পারে, সুতরাং এটি ফাইলটি নয় যে আপনি নাম পরিবর্তন করছেন তবে ডিরেক্টরিতে প্রবেশের নাম। নামকরণ ডিরেক্টরি এন্ট্রি-তে একটি অপারেশন, যা ফাইলটি কার্যকর করার জন্য লক করা হয়েছে তার দ্বারা প্রভাবিত হয় না।


2
হুম, তারপরেও পড়া বা লেখার জন্য উন্মুক্ত একটি নিয়মিত ফাইলের নামকরণের কোনও প্রচেষ্টা কেন ব্যর্থ হয়?
15:25

5
@ সার্জ: কারণ ফাইলটি খোলার প্রক্রিয়াটি বিশেষত উপযুক্ত উন্মুক্ত পতাকাগুলি সেট করে ব্যর্থ হওয়ার জন্য বলেছে।
ডেভিড শোয়ার্জ

কোন নির্দিষ্ট খোলা পতাকা?
n611x007

2
সম্ভবত, dwShareModeশূন্যে সেট করা OF_SHARE_COMPATবা OF_SHARE_EXCLUSIVEপতাকা ব্যবহার করে ।
ডেভিড শোয়ার্টজ

6

এটি এক্সিকিউটেবল ফাইল এবং ডিএলএলগুলি মুছতে দেয় না কারণ উইন্ডোজ এক্সিকিউটেবল ফাইলের কিছু অংশ প্রক্রিয়া সৃষ্টির অংশ হিসাবে মেমরিতে রূপান্তর করে, তাই প্রক্রিয়াটির সময়কালে ফাইলটির প্রয়োজন হয়।

দুর্ভাগ্যক্রমে আমার কাছে এর সত্যিকারের কোনও কারণ নেই যে কেন এটি এখনও এই জাতীয় ফাইলের নাম পরিবর্তন করতে দেয়। আমি অনুমান করি যে পরিষেবাগুলি বাধাগুলির সময়কে হ্রাস করার জন্য দৌড়ের সময় ও এক্সপি ফাইলগুলি আপডেট করার জন্য এটি করা হয়েছে।

বিপরীতে লিনাক্স (সাধারণভাবে ইউনিক্স) চলমান অবস্থায় একটি এক্সিকিউটেবল ফাইল মুছতে দেয়:

tmp]$ cp /usr/bin/md5sum .;ll md5*; \
(./md5sum /home/pub/iso/FC5/FC-5-i386-DVD.iso & ); \
rm md5sum ; ll md5*;ps -f
-rwxr-xr-x 1 sergey sergey 37276 Oct 16 02:38 md5sum
ls: cannot access md5*: No such file or directory
UID        PID  PPID  C STIME TTY          TIME CMD
sergey    2423  2422  0 02:32 pts/1    00:00:00 -bash
sergey    2533     1  0 02:38 pts/1    00:00:00 ./md5sum /home/pub/iso/FC5/FC-5-
sergey    2536  2423  0 02:38 pts/1    00:00:00 ps -f

নোট করুন যেমন লিনাক্স এক্সিকিউটেবল ফাইলের কিছু অংশ মেমরির মধ্যেও ম্যাপ করে, তবে আপনাকে কোনও চলমান এক্সিকিউটেবল মুছতে দেয় এমন কোনও সমস্যা নেই।
ক্রিসইনএডমন্টন

2
@ ক্রিসইন এডমন্টন হ্যাঁ, তবে এটি আমি এখানে ব্যাখ্যা করেছি: unix.stackexchange.com/questions/49299/…
সার্জ

সার্জ, সেখানে সুন্দর ব্যাখ্যা। :)
ChrisInEdmonton 21

লিনাক্স আপনাকে কোনও ফাইল কার্যকর করার সময় মুছে ফেলতে দেয় না। আপনি তবে ডিরেক্টরি এন্ট্রিগুলি অপসারণ করতে পারেন, যেহেতু এগুলি কার্যকর হচ্ছে না।
ডেভিড শোয়ার্জ

@ ডেভিডশওয়ার্টজ দয়া করে আমার উত্তরের আপডেটটি দেখুন। লিনাক্স আমাকে চালিত হওয়া যে কোনও ফাইলকে লিঙ্কমুক্ত করার অনুমতি দেয় তবে এই ফাইলটি মোছার পর্যাপ্ত অনুমতি আমার আছে।
সার্জ করুন

2

আমার ধারণা এটি হ'ল কারণ একটি নাম কেবল ফাইলের একই বাইনারি সামগ্রীর একটি বৈশিষ্ট্য, সুতরাং যতক্ষণ না তথ্য থাকবে ততক্ষণ এটির জন্য চলমান প্রক্রিয়াটি ধারণ করে রাখা হ্যান্ডেলটি পরিবর্তন হবে না।

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