आप इसकी PPID (मूल प्रक्रिया आईडी) पर एक नज़र डाल सकते हैं:
$ ps -eo pid,ppid,args | grep java
एक बार जब आप अपने जावा प्रोसेस का PPID (दूसरा कॉलम) प्राप्त कर लेते ps
हैं, तो संबंधित प्रक्रिया को खोजने के लिए फिर से उपयोग करें:
$ ps -p [PPID]
संपादित करें : यदि माता-पिता 1 (init) हैं, तो आपकी जावा प्रक्रिया के पहले माता-पिता की मृत्यु "जन्म देने" (कितने दुख की बात) के ठीक बाद हुई। उसके कारण, आप इसे खोजने के लिए वर्तमान प्रक्रिया पदानुक्रम का उपयोग नहीं कर सकते हैं। पहली चीज जो मैं आपको करने की सलाह दूंगा वह है जांच करना ps -ef
। आप आउटपुट को पढ़कर ही अपराधी का पता लगा सकते हैं।
फिर, crontabs पर एक नज़र है (आप इसे पहले से ही किया था, लेकिन यह चोट नहीं करेगा):
$ for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done
इसके लिए रूट विशेषाधिकारों की आवश्यकता होगी।
अभी भी एक जावा प्रक्रिया अनुसूचित नहीं देख सकता है? धत तेरे की। चलो कुछ और कोशिश करते हैं। यदि आपकी जावा प्रक्रिया बूट के बाद से मौजूद है, तो बूट समय पर स्कैल्ड किए गए कार्यक्रमों पर एक नज़र डालें। मैं कुछ सुझाव देना चाहूंगा ...
$ grep -iR java /etc/rc*
अगर आपको अभी भी कुछ नहीं मिल रहा है ... तो मैं मानता हूं कि मैं विचारों से बाहर चल रहा हूं। आपको वास्तव में ps -ef
जावा-आधारित कार्यक्रमों से जुड़ी प्रक्रियाओं पर एक और नज़र डालनी चाहिए । आपको अपने जावा प्रक्रिया के निरंतर श्वसन के लिए जिम्मेदार एक डेमॉन, या एक "लॉन्चर" आना चाहिए।
ps xf
प्रोसेस ट्री दिखाने का आउटपुट दिखा सकते हैं ? जैसा कि यह खड़ा है, हमारे पास बहुत कम है।