সুডোর সাথে চলতে চলতে আমি কীভাবে ওএস এক্স dtruss আউটপুট পুনর্নির্দেশ করতে পারি?


9

আমি dtrussম্যাক ওএস এক্স ১০.৯-এ চলছে । সাধারণ উদাহরণটি হ'ল:

sudo -c ls

তবে আমি dtrussআউটপুট একটি ফাইলের মধ্যে ক্যাপচার করতে চাই । আমি এমন কিছু দেখেছি যা প্রস্তাব দেয় যে আমি এর মতো কিছু করতে পারি:

sudo bash -c 'dtruss -c ls >x'

তবে আমি যখন এটি করি dtrussতখনও আউটপুটটি টার্মিনালে যায় এবং ফাইলটির তালিকা থেকে ফাইলটি lsপুনঃনির্দেশিত হয়।

আমি কীভাবে dtrussকোনও ফাইলে আউটপুট পুনর্নির্দেশ করতে পারি ?


1
dtruss সম্ভবত জাদুকরী stderrপরিবর্তে লিখুন stdoutকি >xক্যাপচার। এই প্রশ্নগুলি কী করবেন তা ব্যাখ্যা করে: লিনাক্স কম আচরণ এবং stderr
নিফেল

উত্তর:


9

আমি এটি এভাবে চালিয়ে যাচ্ছি:

sudo dtruss -f -p 12345 2> /tmp/trace.txt
  • -f শিশু প্রক্রিয়া অনুসরণ করতে বলে।
  • -p কোন প্রক্রিয়া আইডি ট্রেস করতে হবে তা নির্দিষ্ট করে।
  • 12345প্রক্রিয়া আইডির জন্য স্থানধারক। আপনি topবা এটি দেখে এটি পেতে পারে ps -A
  • 2>পাইপগুলি আউটপুট ফাইলে স্ট্যান্ডার্ড ত্রুটি। কিছু কারণে স্ট্র্যাডারে ডিট্রুস সবকিছু আউটপুট করে।

এটি কী করে তা বোঝাতে আপনি নিজের উত্তরটি প্রসারিত করতে পারেন? ধন্যবাদ।
ফিক্সার 1234

'-f' বলছে শিশু প্রক্রিয়াগুলি অনুসরণ করুন, '-p' নির্ধারণ করে কোন প্রসেস আইডিটি সনাক্ত করতে হবে, '2>' পাইপগুলিকে আউটপুট ফাইলে স্ট্যান্ডার্ড ত্রুটি দেয়। কিছু কারণে স্ট্র্যাডারে ডিট্রুস সবকিছু আউটপুট করে।
লুক কুইনেন

প্রসেস আইডির জন্য 12345 একটি স্থানধারক (এবং এটি কোথা থেকে আসবে)?
ফিক্সার 1234

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