func (p *Process) Cmdline() (string, error) {
	return p.fillFromCmdline()
}
Cmdline returns the command line arguments of the process as a string with
each argument separated by 0x20 ascii character.
package process
import (
	"bufio"
	"bytes"
	"encoding/json"
	"errors"
	"fmt"
	"io/ioutil"
	"math"
	"os"
	"path/filepath"
	"strconv"
	"strings"
	"syscall"
	"github.com/shirou/gopsutil/cpu"
	"github.com/shirou/gopsutil/host"
	"github.com/shirou/gopsutil/internal/common"
	"github.com/shirou/gopsutil/net"
)
var (
	ErrorNoChildren = errors.New("process does not have children")
	PageSize        = uint64(os.Getpagesize())
)
const (
	PrioProcess = 0    
	ClockTicks  = 100  
)
type MemoryInfoExStat struct {
	RSS    uint64 `json:"rss"`     
	VMS    uint64 `json:"vms"`     
	Shared uint64 `json:"shared"`  
	Text   uint64 `json:"text"`    
	Lib    uint64 `json:"lib"`     
	Data   uint64 `json:"data"`    
	Dirty  uint64 `json:"dirty"`   
}
func (m MemoryInfoExStat) String() string {
	s, _ := json.Marshal(m)
	return string(s)
}
type MemoryMapsStat struct {
	Path         string `json:"path"`
	Rss          uint64 `json:"rss"`
	Size         uint64 `json:"size"`
	Pss          uint64 `json:"pss"`
	SharedClean  uint64 `json:"sharedClean"`
	SharedDirty  uint64 `json:"sharedDirty"`
	PrivateClean uint64 `json:"privateClean"`
	PrivateDirty uint64 `json:"privateDirty"`
	Referenced   uint64 `json:"referenced"`
	Anonymous    uint64 `json:"anonymous"`
	Swap         uint64 `json:"swap"`
}
func (m MemoryMapsStat) String() string {
	s, _ := json.Marshal(m)
	return string(s)
}
func NewProcess(pid int32) (*Process, error) {
	p := &Process{
		Pid: int32(pid),
	}
	file, err := os.Open(common.HostProc(strconv.Itoa(int(p.Pid))))
	defer file.Close()
	return p, err
}
func (p *Process) Ppid() (int32, error) {
	_, ppid, _, _, _, err := p.fillFromStat()
	if err != nil {
		return -1, err
	}
	return ppid, nil
}
func (p *Process) Name() (string, error) {
	if p.name == "" {
		if err := p.fillFromStatus(); err != nil {
			return "", err
		}
	}
	return p.name, nil
}
func (p *Process) Exe() (string, error) {
	return p.fillFromExe()
}