A method for managing software on a virtual machine in a cloud environment, characterized by comprising: transmitting, by a host, a software management request to a virtual machine; acquiring, by the host, a software management script from a shared storage server according to a request for the management script returned by the virtual machine after the software management request is received; and transmitting, by the host, the acquired software management script to the virtual machine and indicating the virtual machine to execute the software management script; wherein a para-virtualization serial port is created in the virtual machine; and when the host needs to transmit the software management request to the virtual machine, the host extracts the virtual machine identifier in the software management request received by the host, determines the virtual machine of required communication by the identifier, and transmits the software management request to the para-virtualization serial port pre-created by the virtual machine; when the host needs to transmit the software management script to the virtual machine, the host extracts the virtual machine identifier in the request for the management script received by the host, determines the virtual machine of the required communicated by the identifier, and transmits the software management script to para-virtualization serial port pre-created by the virtual machine; when the virtual machine needs to transmit the request for the management script to the host, the virtual machine transmits the request for the management script to the para-virtualization serial port pre-created by the virtual machine. transmitting, by a host, a software management request to a virtual machine; acquiring, by the host, a software management script from a shared storage server according to a request for the management script returned by the virtual machine after the software management request is received; and transmitting, by the host, the acquired software management script to the virtual machine and indicating the virtual machine to execute the software management script; wherein a para-virtualization serial port is created in the virtual machine; and when the host needs to transmit the software management request to the virtual machine, the host extracts the virtual machine identifier in the software management request received by the host, determines the virtual machine of required communication by the identifier, and transmits the software management request to the para-virtualization serial port pre-created by the virtual machine; when the host needs to transmit the software management script to the virtual machine, the host extracts the virtual machine identifier in the request for the management script received by the host, determines the virtual machine of the required communicated by the identifier, and transmits the software management script to para-virtualization serial port pre-created by the virtual machine; when the virtual machine needs to transmit the request for the management script to the host, the virtual machine transmits the request for the management script to the para-virtualization serial port pre-created by the virtual machine.