code: func (r *Reader) ReadStatusFromPID(pid int) (*File, error) {
  	r.Lock()
  	defer r.Unlock()
  
  	file, err := os.Open("/proc/" + strconv.Itoa(pid) + "/status")
  	if err != nil {
  		return &File{}, errors.Errorf("failed to read process %d status file: %v", pid, err)
  	}
  	defer func() {
  		if err := file.Close(); err != nil {
  			r.Log.Errorf("failed to close status file for pid %d: %v", pid, err)
  		}
  	}()
  
  	return r.parse(file), nil
  }
docs: // ReadStatusFromPID returns status file object. Data are read from /proc and process ID of existing process is required.
  // Error is returned if file (process) does not exist