āĻāĻāĻŦāĻžāĻ°, āĻāĻāĻāĻŋ āĻ¸āĻžāĻā§āĻˇāĻžāĻ¤ā§āĻāĻžāĻ°ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻŽāĻžāĻā§ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĄāĻŋāĻ¸ā§āĻā§āĻ° āĻ¸ā§āĻĨāĻžāĻ¨ āĻĢā§āĻ°āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻžāĻ°āĻŖā§ āĻā§āĻ¨āĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻžāĻ āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĻā§āĻā§āĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻā§ āĻāĻ°āĻŦā§āĻ¨?
āĻ
āĻŦāĻļā§āĻ¯āĻ, āĻāĻŽāĻŋ āĻāĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¯ā§ āĻāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻāĻŋ āĻā§ āĻĻāĻāĻ˛ āĻāĻ°ā§āĻā§ āĻ¤āĻž āĻāĻŽāĻŋ āĻĻā§āĻāĻŦ āĻāĻŦāĻ āĻ¸āĻŽā§āĻāĻŦ āĻšāĻ˛ā§ āĻāĻŽāĻŋ āĻāĻžāĻ¯āĻŧāĻāĻžāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻŦāĨ¤
āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ¨ā§āĻāĻžāĻ°āĻāĻŋāĻāĻ¯āĻŧāĻžāĻ° āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻ˛ā§āĻ¨, āĻ¯āĻĻāĻŋ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ā§ āĻā§āĻ¨ā§ āĻĢāĻžāĻāĻāĻž āĻāĻžāĻ¯āĻŧāĻāĻž āĻ¨āĻž āĻĨāĻžāĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻ¨ āĻā§āĻ¨ā§ āĻĢāĻžāĻāĻ˛āĻ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ¨ āĻ¨āĻž āĻ¯āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĻāĻāĻ˛ āĻāĻ°āĻŦā§?
āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻŋ āĻŦāĻ˛ā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻā§āĻ˛āĻž āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§āĻ° āĻĻāĻŋāĻā§ āĻ¤āĻžāĻāĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ lsof āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§, āĻāĻŦāĻ āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻā§āĻ¨ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻ¸ā§āĻĨāĻžāĻ¨ āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§āĻā§, āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ¨āĻž āĻ¤āĻžāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ .
āĻāĻ¨ā§āĻāĻžāĻ°āĻāĻŋāĻāĻ¯āĻŧāĻžāĻ° āĻāĻŽāĻžāĻā§ āĻļā§āĻˇ āĻļāĻŦā§āĻĻā§ āĻŦāĻžāĻ§āĻž āĻĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛ā§āĻ¨, āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻļā§āĻ¨ā§ āĻ¯ā§āĻ āĻāĻ°ā§āĻā§āĻ¨: "āĻ§āĻ°ā§āĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻĄā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ, āĻāĻāĻŋ āĻā§āĻŦāĻ˛ āĻāĻāĻāĻŋ āĻĄāĻŋāĻŦāĻžāĻ āĻ˛āĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻāĻžāĻ āĻāĻ°ā§ āĻ¨āĻž āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĄāĻŋāĻŦāĻžāĻ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻž"?
"āĻ āĻŋāĻ āĻāĻā§," āĻāĻŽāĻŋ āĻāĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ˛āĻžāĻŽ, "āĻāĻŽāĻ°āĻž āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§ āĻĄāĻŋāĻŦāĻžāĻ āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§ āĻāĻŦāĻžāĻ° āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤"
āĻ¸āĻžāĻā§āĻˇāĻžāĻ¤ā§āĻāĻžāĻ°āĻāĻžāĻ°ā§ āĻāĻĒāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĻāĻŋāĻ˛ā§āĻ¨: "āĻ¨āĻž, āĻāĻŽāĻ°āĻž āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¨āĻž, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻ¨āĻ āĻŽā§āĻŽāĻ°āĻŋāĻ¤ā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻāĻā§ āĻāĻŦāĻ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻ°āĻž āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻ¸āĻžāĻĨā§āĻ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻĨāĻžāĻā§, āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻŦāĻžāĻ° āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻŦāĻžāĻ§ā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¨āĻžāĨ¤"
"āĻ āĻŋāĻ āĻāĻā§," āĻāĻŽāĻŋ āĻŦāĻ˛āĻ˛āĻžāĻŽ, "āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻ¨āĻž āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ āĻĄā§āĻāĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ āĻā§āĻ˛āĻž āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻāĻŽāĻ¨āĻāĻŋ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻāĻŋ ls āĻāĻŽāĻžāĻ¨ā§āĻĄā§ āĻĻā§āĻāĻ¤ā§ āĻ¨āĻž āĻĒāĻžāĻāĨ¤ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĨ¤"
āĻāĻ¨ā§āĻāĻžāĻ°āĻāĻŋāĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻ¨ā§āĻ¤ā§āĻˇā§āĻ āĻāĻŋāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻ¨āĻž.
āĻ¤āĻāĻ¨ āĻāĻŽāĻŋ āĻāĻžāĻŦāĻ˛āĻžāĻŽ, āĻāĻŽāĻžāĻ° āĻā§āĻāĻžāĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻŋ āĻā§āĻ¨ āĻāĻā§āĻ°āĻāĻžāĻŦā§ āĻāĻ¨āĻ¨ āĻāĻ°ā§ āĻ¨āĻž? āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŦ āĻĒāĻ°ā§ āĻ¯āĻĻāĻŋ āĻ¤āĻĨā§āĻ¯ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ? āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻ°āĻŽā§āĻ āĻāĻ°āĻ¤ā§ āĻ¨āĻž āĻĒāĻžāĻ°āĻŋ, āĻāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ā§āĻ° āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻžāĻ° āĻā§āĻ¨ā§ āĻĢāĻžāĻāĻāĻž āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨ā§āĻ? āĻāĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻ˛ā§āĻāĻž āĻĄā§āĻāĻžāĻ āĻ¨āĻž āĻšāĻžāĻ°āĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻ¤āĻŦā§ āĻ¸ā§āĻ āĻĄā§āĻāĻžāĻ āĻ¯āĻž āĻāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻ˛āĻŋāĻā§ āĻŦāĻž āĻ˛ā§āĻāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§?
Tuzik
āĻāĻŽāĻžāĻ° āĻāĻ°ā§āĻŽāĻā§āĻŦāĻ¨ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĻāĻŋāĻā§, āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻā§āĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻāĻŋ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ¤āĻĨā§āĻ¯ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻŽāĻŋ āĻāĻžāĻŦāĻ˛āĻžāĻŽ, āĻāĻŋāĻāĻžāĻŦā§ āĻāĻŽāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻā§ āĻ¤āĻžāĻ° āĻĄā§āĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻžāĻ° āĻāĻžāĻā§ āĻāĻāĻžāĻ¨āĻ āĻāĻāĻžāĻ¨ āĻāĻāĻžāĻ¨ā§āĻāĻŋāĻ āĻāĻā§, āĻāĻŦāĻ āĻ¤āĻžāĻ° āĻāĻžāĻā§ āĻāĻŋāĻā§ āĻ¤āĻĨā§āĻ¯ āĻāĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻā§āĻāĻžāĻŦā§ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻŦāĻ¨ā§āĻ§ā§āĻ¤ā§āĻŦ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ? āĻāĻŽāĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§ "āĻ¤ā§āĻāĻŋāĻ" āĻ¨āĻžāĻŽā§āĻ° āĻā§āĻā§āĻ°āĻāĻŋ āĻāĻ āĻāĻāĻžāĻ¨ā§āĻ°āĻāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻ¸ā§ āĻ¤āĻžāĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ āĻ˛āĻŋāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ? āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻĻā§āĻāĻž āĻ¯āĻžāĻā§āĻā§ āĻ¯ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ˛āĻŋāĻ¯āĻŧāĻž āĻāĻāĻžāĻ¨ā§āĻāĻ¨āĻž āĻāĻāĻžāĻ¨ā§āĻāĻž āĻāĻ° āĻāĻāĻāĻŋ āĻā§āĻā§āĻ° āĻĨāĻžāĻāĻŦā§ āĻ¨āĻž āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¤ā§āĻāĻŋāĻ āĻāĻāĻ¨āĻ āĻ āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦāĻšā§āĻ¨ āĻāĻāĻžāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻāĻ¤ āĻšāĻŦā§āĨ¤ āĻāĻāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻ āĻ¨āĻ¨ā§āĻ¯ āĻļāĻ¨āĻžāĻā§āĻ¤āĻāĻžāĻ°ā§ (āĻāĻāĻĄāĻŋ) āĻĻāĻŋāĻ¯āĻŧā§āĻā§ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§āĻā§, āĻāĻŦāĻ āĻāĻŽāĻžāĻ° Tuzik āĻāĻ āĻāĻāĻĄāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŦāĻĻā§āĻ§ āĻāĻŋāĻ˛, āĻ¯āĻž āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻŽā§āĻŦāĻ° āĻāĻŋāĻ˛āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻā§āĻā§āĻāĻžāĻ° āĻŽāĻžāĻ˛āĻŋāĻā§āĻ° āĻāĻāĻĄāĻŋ āĻ¨āĻŽā§āĻŦāĻ° 2 āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§ āĻāĻāĻžāĻ¨ āĻāĻ āĻāĻāĻĄāĻŋāĻ° āĻ āĻ§ā§āĻ¨ā§ āĻāĻŋāĻ˛ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻ˛āĻŋāĻ¯āĻŧāĻž āĻāĻāĻ āĻāĻāĻĄāĻŋāĻ° āĻ āĻ§ā§āĻ¨ā§ āĻāĻŋāĻ˛āĨ¤ āĻŽāĻžāĻ¨āĻŦāĻ¤āĻž āĻ āĻĒāĻļā§āĻĒāĻžāĻ˛āĻ¨ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻžāĻ°ā§āĻ¯āĻ¤ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤
āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§
āĻāĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻž āĻĢāĻžāĻāĻ˛ āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻā§āĻ° āĻāĻŦāĻ āĻŽāĻžāĻ¨ā§āĻˇā§āĻ° āĻŽāĻ¤ā§āĻāĨ¤ āĻ§āĻ°ā§āĻ¨ āĻāĻŽāĻŋ ivan.txt āĻ¨āĻžāĻŽā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻā§āĻ˛ā§ āĻ¤āĻžāĻ¤ā§ tuzik āĻļāĻŦā§āĻĻāĻāĻŋ āĻ˛āĻŋāĻāĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻāĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĢāĻžāĻāĻ˛āĻāĻŋāĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ
āĻā§āĻˇāĻ° "t" āĻ˛āĻŋāĻāĻ¤ā§ āĻĒā§āĻ°ā§āĻāĻŋ, āĻāĻŦāĻ āĻāĻ āĻĢāĻžāĻāĻ˛āĻāĻŋāĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĻā§āĻ āĻĻāĻŋāĻ¯āĻŧā§āĻā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, olya.txtāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻāĻāĻ āĻ°āĻ¯āĻŧā§ āĻā§āĻā§, āĻāĻŦāĻ āĻāĻŽāĻŋ āĻāĻāĻ¨āĻ āĻāĻāĻŋāĻ¤ā§ āĻāĻŽāĻžāĻ° āĻā§āĻā§āĻāĻž āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻā§āĻ˛āĻž āĻšāĻ¯āĻŧ
āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§, libc āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻ˛āĻŽāĻžāĻ¨ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° (āĻĒā§āĻ°āĻ¸ā§āĻ¸) āĻāĻ¨ā§āĻ¯ 3 āĻ¨āĻŽā§āĻŦāĻ°āĻ¯ā§āĻā§āĻ¤ 0,1,2āĻāĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻĢāĻžāĻāĻ˛ āĻā§āĻ˛ā§āĨ¤ āĻāĻ°āĻ āĻ¤āĻĨā§āĻ¯ āĻ˛āĻŋāĻā§āĻā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§
- āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ 0 āĻā§ STDIN āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻ¨āĻĒā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻā§āĻ¤
- āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ 1 āĻā§ STDOUT āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĄā§āĻāĻž āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ, āĻ¯ā§āĻŽāĻ¨ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ
- āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ 2 āĻā§ STDERR āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻāĻāĻāĻĒā§āĻ āĻāĻ°āĻ¤ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§ āĻāĻĒāĻ¨āĻŋ āĻĒāĻĄāĻŧāĻžāĻ° āĻŦāĻž āĻ˛ā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¨āĻ āĻĢāĻžāĻāĻ˛ āĻā§āĻ˛ā§āĻ¨, āĻ¤āĻŦā§ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻĢā§āĻ°āĻŋ āĻāĻāĻĄāĻŋ āĻĒāĻžāĻŦā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋ 3 āĻ¨āĻŽā§āĻŦāĻ° āĻšāĻŦā§āĨ¤
āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¯ā§āĻā§āĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĻā§āĻāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋāĻ° āĻĒāĻŋāĻāĻāĻĄāĻŋ āĻāĻžāĻ¨ā§āĻ¨āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻŦā§āĻ¯āĻžāĻļ āĻāĻ¨āĻ¸ā§āĻ˛āĻāĻŋ āĻā§āĻ˛ā§āĻ¨ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋāĻ° āĻĒāĻŋāĻāĻāĻĄāĻŋ āĻĻā§āĻā§āĻ¨
[user@localhost ]$ echo $$
15771
āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻ°āĻžāĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ
[user@localhost ]$ ls -lah /proc/15771/fd/
total 0
dr-x------ 2 user user 0 Oct 7 15:42 .
dr-xr-xr-x 9 user user 0 Oct 7 15:42 ..
lrwx------ 1 user user 64 Oct 7 15:42 0 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 2 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 255 -> /dev/pts/21
āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋāĻ° āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻ¨āĻŽā§āĻŦāĻ° 255āĻā§ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨; āĻāĻāĻŋ āĻŦā§āĻ¯āĻžāĻļā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻžāĻ āĻā§āĻ˛āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ˛āĻŋāĻā§āĻāĻ¯ā§āĻā§āĻ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻ¯āĻŧāĨ¤
āĻāĻāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ 3āĻāĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻāĻĄā§ āĻāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻĄāĻŋāĻāĻžāĻāĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻā§āĻ¤
[user@localhost ]$ echo "hello world" > /proc/15771/fd/0
āĻāĻŦāĻ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦ
[user@localhost ]$ hello world
āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻŦāĻ āĻĒāĻžāĻāĻĒ
āĻāĻĒāĻ¨āĻŋ āĻ¸āĻšāĻā§āĻ āĻāĻ 3āĻāĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻ¯ā§āĻā§āĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻāĻāĻžāĻ°āĻ°āĻžāĻāĻĄ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻŦā§āĻ¯āĻžāĻļ āĻ¸āĻš, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻĻā§āĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻāĻ¯ā§āĻāĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĒā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§, āĻĻā§āĻā§āĻ¨
[user@localhost ]$ cat /dev/zero | sleep 10000
āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻā§āĻ āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ strace -f āĻāĻŦāĻ āĻāĻŋāĻ¤āĻ°ā§ āĻāĻŋ āĻāĻāĻā§ āĻ¤āĻž āĻĻā§āĻā§āĻ¨, āĻ¤āĻŦā§ āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻāĻā§āĻˇā§āĻĒā§ āĻŦāĻ˛āĻŦāĨ¤
PID 15771 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ¯āĻžāĻ°ā§āĻ¨ā§āĻ āĻŦā§āĻ¯āĻžāĻļ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§ āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°ā§ āĻāĻŦāĻ āĻ āĻŋāĻ āĻāĻ¤āĻā§āĻ˛āĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻāĻžāĻ āĻ¤āĻž āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¸ā§āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĻā§āĻāĻŋ āĻ°āĻ¯āĻŧā§āĻā§: āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ āĻāĻŦāĻ āĻā§āĻŽāĨ¤ āĻŦā§āĻ¯āĻžāĻļ āĻāĻžāĻ¨ā§ āĻ¯ā§ āĻāĻāĻŋ āĻĻā§āĻāĻŋ āĻāĻžāĻāĻ˛ā§āĻĄ āĻĒā§āĻ°āĻ¸ā§āĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĒā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ā§ˇ āĻŽā§āĻ, āĻŦā§āĻ¯āĻžāĻļā§āĻ° 2āĻāĻŋ āĻāĻžāĻāĻ˛ā§āĻĄ āĻĒā§āĻ°āĻ¸ā§āĻ¸ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĒ āĻ˛āĻžāĻāĻŦā§āĨ¤
āĻāĻžāĻāĻ˛ā§āĻĄ āĻĒā§āĻ°āĻ¸ā§āĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻā§ āĻŦā§āĻ¯āĻžāĻļ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻāĻžāĻ˛āĻžāĻ¯āĻŧ
āĻ āĻāĻŋāĻāĻžāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻĻā§āĻā§ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĒ āĻāĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ¨āĻ āĻā§āĻ¨ āĻļāĻŋāĻļā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¨ā§āĻ:
PID command
15771 bash
lrwx------ 1 user user 64 Oct 7 15:42 0 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 2 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 3 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct 7 15:42 4 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct 7 15:42 255 -> /dev/pts/21
āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
PID command
15771 bash
lrwx------ 1 user user 64 Oct 7 15:42 0 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 2 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 3 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct 7 15:42 4 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct 7 15:42 255 -> /dev/pts/21
PID command
9004 bash
lrwx------ 1 user user 64 Oct 7 15:57 0 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:57 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:57 2 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:57 3 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct 7 15:57 4 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct 7 15:57 255 -> /dev/pts/21
PID command
9005 bash
lrwx------ 1 user user 64 Oct 7 15:57 0 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:57 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:57 2 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:57 3 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct 7 15:57 4 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct 7 15:57 255 -> /dev/pts/21
āĻā§āĻ˛ā§ āĻ¯āĻžāĻŦā§āĻ¨ āĻ¨āĻž āĻ¯ā§ āĻā§āĻ˛ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋāĻā§ āĻā§āĻ˛ā§āĻ¨ āĻāĻ°ā§, āĻ¤āĻžāĻ āĻ¤āĻžāĻ°āĻž āĻ āĻāĻŋāĻāĻžāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ āĻļāĻŋāĻļā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻ āĻ°āĻāĻŽ āĻšāĻŦā§āĨ¤ āĻĒāĻŋāĻāĻāĻĄāĻŋ 15771 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ āĻāĻŋāĻāĻžāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻžāĻ āĻšāĻ˛ āĻļāĻŋāĻļā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻā§āĻˇāĻŖ āĻāĻ°āĻž, āĻ¤āĻžāĻ āĻāĻāĻŋ āĻā§āĻŦāĻ˛ āĻļāĻŋāĻļā§āĻĻā§āĻ° āĻāĻžāĻ āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°ā§āĨ¤
āĻ āĻ¤āĻāĻŦ, āĻāĻāĻŋāĻ° āĻĒāĻžāĻāĻĒā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ āĻāĻŦāĻ āĻāĻāĻŋ 3 āĻāĻŦāĻ 4 āĻ¨āĻŽā§āĻŦāĻ°ā§āĻ° āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§āĻā§ āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§ āĻĻā§āĻ¯āĻŧāĨ¤
PID 9004 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻžāĻāĻ˛ā§āĻĄ āĻŦā§āĻ¯āĻžāĻļ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ, āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛
PID 9005 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻāĻžāĻāĻ˛ā§āĻĄ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ, bash āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ STDIN āĻ¨āĻŽā§āĻŦāĻ° 2 āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ dup0 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻāĻāĻ¨ PID 9005 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻŦā§āĻ¯āĻžāĻļ āĻ¯āĻž āĻĒāĻĄāĻŧāĻŦā§ āĻ¤āĻž āĻĒāĻžāĻāĻĒ āĻĨā§āĻā§ āĻĒāĻĄāĻŧāĻž āĻšāĻŦā§āĨ¤
āĻāĻ° āĻĒāĻ°ā§, 3 āĻāĻŦāĻ 4 āĻ¨āĻŽā§āĻŦāĻ°āĻ¯ā§āĻā§āĻ¤ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§āĻā§āĻ˛āĻŋāĻ āĻāĻžāĻāĻ˛ā§āĻĄ āĻĒā§āĻ°āĻ¸ā§āĻ¸ā§ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§ āĻā§āĻā§, āĻ¯ā§āĻšā§āĻ¤ā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤
āĻāĻŽāĻŋ āĻāĻā§āĻāĻžāĻā§āĻ¤āĻāĻžāĻŦā§ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ 255 āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻŋ; āĻāĻāĻŋ āĻŦā§āĻ¯āĻžāĻļā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻļāĻŋāĻļā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋāĻ¤ā§āĻ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§āĨ¤
āĻāĻ° āĻĒāĻ°ā§, āĻĒāĻŋāĻāĻāĻĄāĻŋ 9004 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻžāĻāĻ˛ā§āĻĄ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ, āĻŦā§āĻ¯āĻžāĻļ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻļā§āĻ°ā§ āĻāĻ°ā§
PID 9005-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻāĻžāĻāĻ˛ā§āĻĄ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ, bash āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻāĻžāĻ˛āĻžāĻ¯āĻŧ, āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ /usr/bin/sleepāĨ¤
exec āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻĢāĻžāĻāĻ˛ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ˛āĻā§āĻ˛āĻŋ āĻŦāĻ¨ā§āĻ§ āĻāĻ°ā§ āĻ¨āĻž āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ¸ā§āĻā§āĻ˛āĻŋ O_CLOEXEC āĻĒāĻ¤āĻžāĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻā§āĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻāĻĒā§āĻ¨ āĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻā§āĻ āĻāĻ°ā§āĻ¨:
[user@localhost ]$ pgrep -P 15771
9004
9005
[user@localhost ]$ ls -lah /proc/15771/fd/
total 0
dr-x------ 2 user user 0 Oct 7 15:42 .
dr-xr-xr-x 9 user user 0 Oct 7 15:42 ..
lrwx------ 1 user user 64 Oct 7 15:42 0 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 2 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:42 255 -> /dev/pts/21
[user@localhost ]$ ls -lah /proc/9004/fd
total 0
dr-x------ 2 user user 0 Oct 7 15:57 .
dr-xr-xr-x 9 user user 0 Oct 7 15:57 ..
lrwx------ 1 user user 64 Oct 7 15:57 0 -> /dev/pts/21
l-wx------ 1 user user 64 Oct 7 15:57 1 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct 7 15:57 2 -> /dev/pts/21
lr-x------ 1 user user 64 Oct 7 15:57 3 -> /dev/zero
[user@localhost ]$ ls -lah /proc/9005/fd
total 0
dr-x------ 2 user user 0 Oct 7 15:57 .
dr-xr-xr-x 9 user user 0 Oct 7 15:57 ..
lr-x------ 1 user user 64 Oct 7 15:57 0 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct 7 15:57 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct 7 15:57 2 -> /dev/pts/21
[user@localhost ]$ ps -up 9004
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
user 9004 0.0 0.0 107972 620 pts/21 S+ 15:57 0:00 cat /dev/zero
[user@localhost ]$ ps -up 9005
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
user 9005 0.0 0.0 107952 360 pts/21 S+ 15:57 0:00 sleep 10000
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻžāĻāĻĒā§āĻ° āĻ āĻ¨āĻ¨ā§āĻ¯ āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻāĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¤ā§āĻ āĻāĻāĻāĨ¤ āĻāĻāĻāĻžāĻŦā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻ āĻĒāĻŋāĻ¤āĻžāĻŽāĻžāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻĻā§āĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
āĻ¯āĻžāĻ°āĻž āĻŦā§āĻ¯āĻžāĻļ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻ¨āĻ¨ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻŋ āĻ¸ā§āĻā§āĻ°ā§āĻ¸ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻŦāĻ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖāĻāĻžāĻŦā§ āĻā§ āĻāĻāĻā§ āĻ¤āĻž āĻĻā§āĻāĻžāĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻāĻ°āĻāĻŋ, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ:
strace -s 1024 -f bash -c "ls | grep hello"
āĻāĻ¸ā§āĻ¨ āĻāĻŽ āĻĄāĻŋāĻ¸ā§āĻā§ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯āĻŧ āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻŋ āĻāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻ¨āĻž āĻāĻ°ā§ āĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋāĨ¤ āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻā§āĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ˛āĻŋāĻāĻŋ āĻ¯āĻž āĻĄāĻŋāĻ¸ā§āĻā§ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 1 āĻŽā§āĻāĻžāĻŦāĻžāĻāĻ āĻ˛āĻŋāĻāĻŦā§āĨ¤ āĻ¤āĻĻā§āĻĒāĻ°āĻŋ, āĻ¯āĻĻāĻŋ āĻā§āĻ¨ā§ āĻāĻžāĻ°āĻŖā§ āĻāĻŽāĻ°āĻž āĻĄāĻŋāĻ¸ā§āĻā§ āĻĄā§āĻāĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻ āĻā§āĻˇāĻŽ āĻšāĻ, āĻāĻŽāĻ°āĻž āĻā§āĻŦāĻ˛ āĻāĻāĻŋ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻŦ āĻāĻŦāĻ āĻāĻ āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻŦāĻžāĻ° āĻĄā§āĻāĻž āĻ˛ā§āĻāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖā§ āĻāĻŽāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻāĻŋ, āĻāĻĒāĻ¨āĻŋ āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
[user@localhost ]$ cat openforwrite.py
import datetime
import time
mystr="a"*1024*1024+"n"
with open("123.txt", "w") as f:
while True:
try:
f.write(str(datetime.datetime.now()))
f.write(mystr)
f.flush()
time.sleep(1)
except:
pass
āĻāĻ˛ā§āĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ°āĻžāĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻĻā§āĻā§āĻ¨
[user@localhost ]$ python openforwrite.py &
[1] 3762
[user@localhost ]$ ps axuf | grep [o]penforwrite
user 3762 0.0 0.0 128600 5744 pts/22 S+ 16:28 0:00 | _ python openforwrite.py
[user@localhost ]$ ls -la /proc/3762/fd
total 0
dr-x------ 2 user user 0 Oct 7 16:29 .
dr-xr-xr-x 9 user user 0 Oct 7 16:29 ..
lrwx------ 1 user user 64 Oct 7 16:29 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 7 16:29 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 7 16:29 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct 7 16:29 3 -> /home/user/123.txt
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻāĻŽāĻžāĻĻā§āĻ° 3āĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻ°āĻ āĻāĻāĻāĻŋ āĻāĻŽāĻ°āĻž āĻā§āĻ˛ā§āĻāĻŋāĨ¤ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻāĻžāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻ¯āĻžāĻ:
[user@localhost ]$ ls -lah 123.txt
-rw-rw-r-- 1 user user 117M Oct 7 16:30 123.txt
āĻĄā§āĻāĻž āĻ˛ā§āĻāĻž āĻšāĻā§āĻā§, āĻāĻŽāĻ°āĻž āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋ:
[user@localhost ]$ sudo chown root: 123.txt
[user@localhost ]$ ls -lah 123.txt
-rw-rw-r-- 1 root root 168M Oct 7 16:31 123.txt
[user@localhost ]$ ls -lah 123.txt
-rw-rw-r-- 1 root root 172M Oct 7 16:31 123.txt
āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ āĻ¯ā§ āĻĄā§āĻāĻž āĻāĻāĻ¨āĻ āĻ˛ā§āĻāĻž āĻšāĻā§āĻā§, āĻ¯āĻĻāĻŋāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĢāĻžāĻāĻ˛ā§ āĻ˛ā§āĻāĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ¨ā§āĻāĨ¤ āĻāĻ¸ā§āĻ¨ āĻāĻāĻŋ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋ:
[user@localhost ]$ sudo rm 123.txt
[user@localhost ]$ ls 123.txt
ls: cannot access 123.txt: No such file or directory
āĻ¤āĻĨā§āĻ¯ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧ? āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻž āĻāĻŋ āĻāĻĻā§ āĻ˛ā§āĻāĻž āĻāĻā§? āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻŋ:
[user@localhost ]$ ls -la /proc/3762/fd
total 0
dr-x------ 2 user user 0 Oct 7 16:29 .
dr-xr-xr-x 9 user user 0 Oct 7 16:29 ..
lrwx------ 1 user user 64 Oct 7 16:29 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 7 16:29 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 7 16:29 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct 7 16:29 3 -> /home/user/123.txt (deleted)
āĻšā§āĻ¯āĻžāĻ, āĻāĻŽāĻžāĻĻā§āĻ° āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻāĻāĻ¨āĻ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§āĻā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻžāĻ¨ā§ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻŽāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻāĻŽāĻ°āĻž āĻāĻāĻŋ āĻĒāĻĄāĻŧāĻ¤ā§, āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
āĻāĻ¸ā§āĻ¨ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻāĻžāĻ° āĻĻā§āĻāĻŋ:
[user@localhost ]$ lsof | grep 123.txt
python 31083 user 3w REG 8,5 19923457 2621522 /home/user/123.txt
āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻāĻžāĻ° āĻšāĻ˛ 19923457āĨ¤ āĻāĻ¸ā§āĻ¨ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋ:
[user@localhost ]$ truncate -s 0 /proc/31083/fd/3
[user@localhost ]$ lsof | grep 123.txt
python 31083 user 3w REG 8,5 136318390 2621522 /home/user/123.txt
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻāĻžāĻ° āĻā§āĻŦāĻ˛ āĻŦāĻžāĻĄāĻŧāĻā§ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ°āĻžāĻā§āĻ āĻāĻžāĻ āĻāĻ°ā§āĻ¨āĻŋāĨ¤ āĻāĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻ¤āĻžāĻāĻžāĻ¨
with open("123.txt", "w") as f:
āĻāĻŽāĻžāĻĻā§āĻ° āĻ˛āĻžāĻāĻžāĻ¤ā§ āĻšāĻŦā§
with open("123.txt", "a") as f:
"w" āĻĒāĻ¤āĻžāĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§
[user@localhost ]$ strace -e trace=open python openforwrite.py 2>&1| grep 123.txt
open("123.txt", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
āĻāĻŦāĻ "a" āĻĒāĻ¤āĻžāĻāĻž āĻ¸āĻš
[user@localhost ]$ strace -e trace=open python openforwrite.py 2>&1| grep 123.txt
open("123.txt", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž
āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ°āĻ°āĻž, āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĄāĻŋāĻŦāĻžāĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ GDB) āĻŦāĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋāĻ¤ā§ āĻ˛āĻāĻŋāĻāĻ¯āĻŧā§āĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸ā§āĻ¤āĻ°āĨ¤ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§ āĻāĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ˛āĻŋāĻāĻ¤ā§ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž, āĻāĻāĻāĻŋ āĻŦā§āĻ°ā§āĻāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸ā§āĻ āĻāĻ°āĻž āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤
āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻ˛ā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻĄāĻŋāĻ¸ā§āĻ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻŽā§āĻ˛ āĻĒā§āĻ°āĻļā§āĻ¨ā§ āĻĢāĻŋāĻ°ā§, āĻāĻ¸ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻ āĻ¨ā§āĻāĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋāĨ¤
āĻāĻ¸ā§āĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ, āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻĄāĻŋāĻ¸ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŽāĻžāĻāĻ¨ā§āĻ āĻāĻ°āĻŦ:
[user@localhost ~]$ dd if=/dev/zero of=~/tempfile_for_article.dd bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.00525929 s, 2.0 GB/s
[user@localhost ~]$
āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ:
[user@localhost ~]$ mkfs.ext4 ~/tempfile_for_article.dd
mke2fs 1.42.9 (28-Dec-2013)
/home/user/tempfile_for_article.dd is not a block special device.
Proceed anyway? (y,n) y
...
Writing superblocks and filesystem accounting information: done
[user@localhost ~]$
āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻŽāĻžāĻāĻ¨ā§āĻ āĻāĻ°ā§āĻ¨:
[user@localhost ~]$ sudo mount ~/tempfile_for_article.dd /mnt/
[sudo] password for user:
[user@localhost ~]$ df -h | grep mnt
/dev/loop0 8.7M 172K 7.9M 3% /mnt
āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻŽāĻžāĻ˛āĻŋāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ:
[user@localhost ~]$ sudo mkdir /mnt/logs
[user@localhost ~]$ sudo chown user: /mnt/logs
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§ āĻ˛ā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻā§āĻ˛ā§āĻ¨:
with open("/mnt/logs/123.txt", "w") as f:
āĻāĻžāĻ˛āĻžāĻ¨
[user@localhost ]$ python openforwrite.py
āĻāĻŽāĻ°āĻž āĻāĻ¯āĻŧā§āĻ āĻ¸ā§āĻā§āĻ¨ā§āĻĄ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻŋ
[user@localhost ~]$ df -h | grep mnt
/dev/loop0 8.7M 8.0M 0 100% /mnt
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻŽāĻ°āĻž āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻļā§āĻ°ā§āĻ¤ā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻā§. āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§ āĻ¸ā§āĻĨāĻžāĻ¨ 0, 100% āĻĻāĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻŽāĻ°āĻž āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŋ āĻ¯ā§ āĻāĻžāĻ¸ā§āĻā§āĻ° āĻļāĻ°ā§āĻ¤ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§, āĻāĻŽāĻ°āĻž āĻā§āĻŦ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻĄā§āĻāĻž āĻ°ā§āĻāĻ°ā§āĻĄ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻāĻŋ āĻ¯āĻž āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§ āĻ¨āĻžāĨ¤ āĻāĻŦāĻ āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻ¨āĻž āĻāĻ°ā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋ āĻ āĻŋāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ§āĻ°āĻž āĻ¯āĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻ¨āĻ āĻĄāĻŋāĻ¸ā§āĻ āĻ¸ā§āĻĒā§āĻ¸ āĻāĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ /āĻšā§āĻŽā§āĨ¤
āĻāĻ¸ā§āĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻĄ "āĻĢā§āĻ˛āĻžāĻāĻ¤ā§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ" āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋāĨ¤
āĻāĻ¸ā§āĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋāĻ° āĻĒāĻŋāĻāĻāĻĄāĻŋāĻāĻŋ āĻĻā§āĻāĻŋ, āĻ¯āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ¸ā§āĻā§āĻ° āĻ¸ā§āĻĨāĻžāĻ¨ āĻā§āĻ¯āĻŧā§ āĻĢā§āĻ˛ā§āĻā§:
[user@localhost ~]$ ps axuf | grep [o]penfor
user 10078 27.2 0.0 128600 5744 pts/22 R+ 11:06 0:02 | _ python openforwrite.py
gdb āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
[user@localhost ~]$ gdb -p 10078
...
(gdb)
āĻāĻ˛ā§āĻ¨ āĻā§āĻ˛āĻž āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻĻā§āĻā§āĻ¨:
(gdb) shell ls -lah /proc/10078/fd/
total 0
dr-x------ 2 user user 0 Oct 8 11:06 .
dr-xr-xr-x 9 user user 0 Oct 8 11:06 ..
lrwx------ 1 user user 64 Oct 8 11:09 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:09 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:06 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct 8 11:09 3 -> /mnt/logs/123.txt
āĻāĻŽāĻ°āĻž āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻ¨āĻŽā§āĻŦāĻ° 3 āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻĻā§āĻāĻŋ, āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻā§āĻ°āĻšā§
(gdb) shell cat /proc/10078/fdinfo/3
pos: 8189952
flags: 0100001
mnt_id: 482
Python āĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻāĻ°ā§ āĻ¤āĻž āĻŽāĻžāĻĨāĻžāĻ¯āĻŧ āĻ°ā§āĻā§ (āĻāĻĒāĻ°ā§ āĻĻā§āĻā§āĻ¨ āĻāĻŽāĻ°āĻž āĻā§āĻĨāĻžāĻ¯āĻŧ āĻ¸ā§āĻā§āĻ°ā§āĻ¸ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§āĻāĻŋ āĻāĻŦāĻ āĻāĻĒā§āĻ¨ āĻāĻ˛ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ), āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻā§āĻ˛āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻĄ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻĒāĻā§āĻˇ āĻĨā§āĻā§ āĻ¨āĻŋāĻā§āĻ°āĻžāĻ āĻāĻāĻ āĻāĻžāĻ āĻāĻ°āĻŋ, āĻ¤āĻŦā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ O_WRONLY|O_CREAT| O_TRUNC āĻŦāĻŋāĻ āĻāĻāĻāĻŋ āĻ¸āĻžāĻāĻā§āĻ¯āĻŋāĻ āĻŽāĻžāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ āĻāĻ¤ā§āĻ¸āĻā§āĻ˛āĻŋ āĻā§āĻ˛ā§āĻ¨, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ
# O_WRONLY 00000001 āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨
# O_CREAT 00000100 āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨
# O_TRUNC 00001000 āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨
āĻāĻŽāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻžāĻ¨āĻā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻŋ, āĻāĻŽāĻ°āĻž 00001101 āĻĒāĻžāĻ
āĻāĻŽāĻ°āĻž āĻāĻŋāĻĄāĻŋāĻŦāĻŋ āĻĨā§āĻā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ˛ āĻāĻžāĻ˛āĻžāĻ
(gdb) call open("/home/user/123.txt", 00001101,0666)
$1 = 4
āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž 4 āĻ¨āĻŽā§āĻŦāĻ° āĻ¸āĻš āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻ˛āĻž āĻĢāĻžāĻāĻ˛ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ, āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻŋ:
(gdb) shell ls -lah /proc/10078/fd/
total 0
dr-x------ 2 user user 0 Oct 8 11:06 .
dr-xr-xr-x 9 user user 0 Oct 8 11:06 ..
lrwx------ 1 user user 64 Oct 8 11:09 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:09 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:06 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct 8 11:09 3 -> /mnt/logs/123.txt
l-wx------ 1 user user 64 Oct 8 11:15 4 -> /home/user/123.txt
āĻāĻŽāĻ°āĻž āĻĒāĻžāĻāĻĒā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŋ - āĻāĻŋāĻāĻžāĻŦā§ bash āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§āĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§, āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ dup2 āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ āĻļāĻŋāĻā§āĻāĻŋāĨ¤
āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§āĻā§ āĻ āĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋ
(gdb) call dup2(4,3)
$2 = 3
āĻā§āĻ āĻāĻ°ā§āĻ¨:
(gdb) shell ls -lah /proc/10078/fd/
total 0
dr-x------ 2 user user 0 Oct 8 11:06 .
dr-xr-xr-x 9 user user 0 Oct 8 11:06 ..
lrwx------ 1 user user 64 Oct 8 11:09 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:09 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:06 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct 8 11:09 3 -> /home/user/123.txt
l-wx------ 1 user user 64 Oct 8 11:15 4 -> /home/user/123.txt
āĻāĻŽāĻ°āĻž āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ 4 āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻŋ, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ:
(gdb) call close (4)
$1 = 0
āĻāĻŦāĻ gdb āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻ°ā§āĻ¨
(gdb) quit
A debugging session is active.
Inferior 1 [process 10078] will be detached.
Quit anyway? (y or n) y
Detaching from program: /usr/bin/python2.7, process 10078
āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻāĻ˛ āĻā§āĻ āĻāĻ°āĻž āĻšāĻā§āĻā§:
[user@localhost ~]$ ls -lah /home/user/123.txt
-rw-rw-r-- 1 user user 5.1M Oct 8 11:18 /home/user/123.txt
[user@localhost ~]$ ls -lah /home/user/123.txt
-rw-rw-r-- 1 user user 7.1M Oct 8 11:18 /home/user/123.txt
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻĄā§āĻāĻž āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĢāĻžāĻāĻ˛ā§ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻ¸ā§āĻ¨ āĻĒā§āĻ°āĻžāĻ¨ā§āĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻŋ:
[user@localhost ~]$ ls -lah /mnt/logs/123.txt
-rw-rw-r-- 1 user user 7.9M Oct 8 11:08 /mnt/logs/123.txt
āĻā§āĻ¨ āĻĄā§āĻāĻž āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž, āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ āĻāĻ°ā§, āĻ˛āĻāĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧāĨ¤
āĻāĻ¸ā§āĻ¨ āĻāĻžāĻāĻāĻŋ āĻāĻāĻā§ āĻāĻāĻŋāĻ˛ āĻāĻ°āĻŋ
āĻāĻ¸ā§āĻ¨ āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°āĻŋ āĻ¯ā§ āĻĄā§āĻāĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ, āĻ¤āĻŦā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ¨āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ā§ āĻĄāĻŋāĻ¸ā§āĻā§āĻ° āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨ā§āĻ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻĄāĻŋāĻ¸ā§āĻāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¨āĻžāĨ¤
āĻāĻŽāĻ°āĻž āĻ¯āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¤āĻž āĻšāĻ˛ āĻāĻŽāĻžāĻĻā§āĻ° āĻĄā§āĻāĻž āĻā§āĻĨāĻžāĻ āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻ¤ āĻāĻ°āĻž, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻĒāĻžāĻāĻĒā§, āĻāĻŦāĻ āĻĒāĻžāĻ˛ā§āĻā§ āĻāĻŋāĻā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒāĻžāĻāĻĒ āĻĨā§āĻā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻĄā§āĻāĻž āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻ¨ā§āĻāĻā§āĻ¯āĻžāĻāĨ¤
āĻāĻŽāĻ°āĻž mkfifo āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽāĻ¯ā§āĻā§āĻ¤ āĻĒāĻžāĻāĻĒ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻāĻāĻāĻŋ āĻāĻĻā§āĻŽ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§ āĻ¯āĻĻāĻŋāĻ āĻāĻāĻŋāĻ¤ā§ āĻā§āĻ¨āĻ āĻĢāĻžāĻāĻāĻž āĻāĻžāĻ¯āĻŧāĻāĻž āĻ¨āĻž āĻĨāĻžāĻā§āĨ¤
āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻā§āĻ āĻāĻ°ā§āĻ¨:
[user@localhost ]$ python openforwrite.py
[user@localhost ~]$ ps axuf | grep [o]pen
user 5946 72.9 0.0 128600 5744 pts/22 R+ 11:27 0:20 | _ python openforwrite.py
[user@localhost ~]$ ls -lah /proc/5946/fd
total 0
dr-x------ 2 user user 0 Oct 8 11:27 .
dr-xr-xr-x 9 user user 0 Oct 8 11:27 ..
lrwx------ 1 user user 64 Oct 8 11:28 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:28 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:27 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct 8 11:28 3 -> /mnt/logs/123.txt
[user@localhost ~]$ df -h | grep mnt
/dev/loop0 8.7M 8.0M 0 100% /mnt
āĻā§āĻ¨ āĻĄāĻŋāĻ¸ā§āĻ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨ā§āĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽāĻ¯ā§āĻā§āĻ¤ āĻĒāĻžāĻāĻĒ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ:
[user@localhost ~]$ mkfifo /mnt/logs/megapipe
[user@localhost ~]$ ls -lah /mnt/logs/megapipe
prw-rw-r-- 1 user user 0 Oct 8 11:28 /mnt/logs/megapipe
āĻāĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ āĻ¨ā§āĻ¯ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻ āĻĒāĻžāĻāĻĒā§ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§āĻāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻž āĻā§āĻ¨āĻāĻāĻžāĻŦā§ āĻŽā§āĻĄāĻŧāĻžāĻ¨ā§ āĻĻāĻ°āĻāĻžāĻ°; āĻāĻāĻ āĻ¨ā§āĻāĻā§āĻ¯āĻžāĻ āĻāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¯ā§āĻā§āĻ¤āĨ¤
remote-server.example.com āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻŽāĻ°āĻž āĻāĻžāĻ˛ā§ āĻāĻ°āĻŋ
[user@localhost ~]$ nc -l 7777 > 123.txt
āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ¯ā§āĻā§āĻ¤ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ā§ āĻāĻžāĻ˛ā§ āĻāĻ°āĻŋ
[user@localhost ~]$ nc remote-server.example.com 7777 < /mnt/logs/megapipe
āĻāĻāĻ¨ āĻĒāĻžāĻāĻĒā§ āĻļā§āĻˇ āĻšāĻāĻ¯āĻŧāĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§āĻāĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¨ā§āĻāĻā§āĻ¯āĻžāĻā§ stdin-āĻ āĻ¯āĻžāĻŦā§, āĻ¯āĻž 7777 āĻĒā§āĻ°ā§āĻā§āĻ° āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻĒāĻžāĻ āĻžāĻŦā§āĨ¤
āĻāĻŽāĻžāĻĻā§āĻ° āĻ¯āĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻž āĻšāĻ˛ āĻāĻ āĻ¨āĻžāĻŽā§āĻ° āĻĒāĻžāĻāĻĒā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĄā§āĻāĻž āĻ˛ā§āĻāĻž āĻļā§āĻ°ā§ āĻāĻ°āĻžāĨ¤
āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻ˛āĻŽāĻžāĻ¨ āĻāĻā§:
[user@localhost ~]$ ps axuf | grep [o]pen
user 5946 99.8 0.0 128600 5744 pts/22 R+ 11:27 169:27 | _ python openforwrite.py
[user@localhost ~]$ ls -lah /proc/5946/fd
total 0
dr-x------ 2 user user 0 Oct 8 11:27 .
dr-xr-xr-x 9 user user 0 Oct 8 11:27 ..
lrwx------ 1 user user 64 Oct 8 11:28 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:28 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:27 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct 8 11:28 3 -> /mnt/logs/123.txt
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ¤āĻžāĻāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° O_WRONLY āĻĻāĻ°āĻāĻžāĻ° āĻ¯ā§āĻšā§āĻ¤ā§ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĻāĻ°āĻāĻžāĻ° āĻ¨ā§āĻ
[user@localhost ~]$ gdb -p 5946
...
(gdb) call open("/mnt/logs/megapipe", 00000001,0666)
$1 = 4
(gdb) shell ls -lah /proc/5946/fd
total 0
dr-x------ 2 user user 0 Oct 8 11:27 .
dr-xr-xr-x 9 user user 0 Oct 8 11:27 ..
lrwx------ 1 user user 64 Oct 8 11:28 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:28 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:27 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct 8 11:28 3 -> /mnt/logs/123.txt
l-wx------ 1 user user 64 Oct 8 14:20 4 -> /mnt/logs/megapipe
(gdb) call dup2(4,3)
$2 = 3
(gdb) shell ls -lah /proc/5946/fd
total 0
dr-x------ 2 user user 0 Oct 8 11:27 .
dr-xr-xr-x 9 user user 0 Oct 8 11:27 ..
lrwx------ 1 user user 64 Oct 8 11:28 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:28 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:27 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct 8 11:28 3 -> /mnt/logs/megapipe
l-wx------ 1 user user 64 Oct 8 14:20 4 -> /mnt/logs/megapipe
(gdb) call close(4)
$3 = 0
(gdb) shell ls -lah /proc/5946/fd
total 0
dr-x------ 2 user user 0 Oct 8 11:27 .
dr-xr-xr-x 9 user user 0 Oct 8 11:27 ..
lrwx------ 1 user user 64 Oct 8 11:28 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:28 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct 8 11:27 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct 8 11:28 3 -> /mnt/logs/megapipe
(gdb) quit
A debugging session is active.
Inferior 1 [process 5946] will be detached.
Quit anyway? (y or n) y
Detaching from program: /usr/bin/python2.7, process 5946
āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° remote-server.example.com āĻā§āĻ āĻāĻ°āĻž āĻšāĻā§āĻā§
[user@localhost ~]$ ls -lah 123.txt
-rw-rw-r-- 1 user user 38M Oct 8 14:21 123.txt
āĻ¤āĻĨā§āĻ¯ āĻāĻ¸āĻā§, āĻāĻŽāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻā§āĻ
[user@localhost ~]$ ls -lah /mnt/logs/
total 7.9M
drwxr-xr-x 2 user user 1.0K Oct 8 11:28 .
drwxr-xr-x 4 root root 1.0K Oct 8 10:55 ..
-rw-rw-r-- 1 user user 7.9M Oct 8 14:17 123.txt
prw-rw-r-- 1 user user 0 Oct 8 14:22 megapipe
āĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻāĻŽāĻŋ āĻĻā§āĻāĻŋāĻ°ā§ āĻĨā§āĻā§ āĻāĻŽāĻžāĻ° āĻ¸āĻšāĻāĻ°ā§āĻŽā§āĻĻā§āĻ° āĻšā§āĻ¯āĻžāĻ˛ā§ āĻŦāĻ˛āĻžāĻ° āĻāĻ āĻ¸ā§āĻ¯ā§āĻāĻāĻŋ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻŋāĨ¤
āĻ°ā§āĻĄāĻŋāĻ-āĻāĻŋ āĻĒāĻĄāĻāĻžāĻ¸ā§āĻ āĻļā§āĻ¨ā§āĻ¨āĨ¤
āĻ¸āĻŦ āĻāĻžāĻ˛āĨ¤
āĻšā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻā§āĻāĻŋ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ˛ā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĢāĻžāĻāĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻžāĻ°ā§ āĻā§āĻ¯āĻžāĻ āĻāĻŦāĻ āĻā§āĻŽā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻā§ āĻĨāĻžāĻāĻŦā§ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻžāĻŦā§āĻ¨:
[user@localhost ~]$ cat /dev/zero 2>/dev/null| sleep 10000
āĻāĻ¤ā§āĻ¸: www.habr.com