कैसे पता करें कि किस फ़ोल्डर से एक प्रक्रिया चल रही है?


13

* निक्स में आप उपयोग कर सकते हैं ps यह देखने के लिए कि कौन सी प्रक्रिया चल रही है। लेकिन अगर किसी एक्जीक्यूटेबल में एक डिवाइस में कई होमोनिमस फाइलें होती हैं, तो हम यह पता नहीं लगा सकते हैं कि यह कहां से मंगवाया गया था।

यह इस विषय पर मेरे पिछले प्रश्न से थोड़ा अलग है। मैं एक चलने की प्रक्रिया के निरपेक्ष पथ को कैसे जान सकता हूं?

जवाबों:



7

व्युत्पन्न रोम HUB का जवाब:

readlink /proc/<PID>/cwd

या और भी

readlink /proc/$(pgrep <program_name>)/cwd

+1 का आउटपुट readlink एक स्क्रिप्ट में बेहतर ढंग से पार्स किया जा सकता है।
Marco Leogrande

2

आप यह नहीं बता सकते हैं कि एक प्रक्रिया कहाँ लागू की गई थी से , केवल जहां यह वर्तमान में है है । की ओर देखने के लिए cwd ("वर्तमान कार्यशील निर्देशिका") के बजाय लिंक exe



1

मुझे लगता है कि इस कमांड को काम करना चाहिए। यह थोड़ा वर्कअराउंड है लेकिन यह कम से कम मेरी मशीन पर काम करता है।

$ (ps e PID) में स्ट्रिंगर के लिए; यदि [$ {strlist: 0: 4} = "PWD ="]; फिर प्रतिध्वनि $ {strlist: 4}; फाई; किया


0

जब मैं भागा

ps auxwwwe | grep executableName > dump
vim dump

मैं जिस पथ को जानता था, उसके भाग को देख पा रहा था, और फिर मुझे पता चला कि किस उपनिर्देशिका से कमांड का आह्वान किया गया था

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.