A software control device comprising: a first detector configured to detect whether starting software and running software are accessing the same common resource, the same common resource comprising a device, a system resource, or a memory;an extractor configured to extract, from a database storing a start-up period of software in a non-conflict state and a coefficient indicating performance deterioration in a conflict state between software, a start-up period for the starting software in the non-conflict state and a coefficient indicating performance deterioration in the conflict state between the starting software and the running software; a calculator configured to calculate, based on the start-up period and the coefficient that are extracted by the extractor, an estimated start-up period for the starting software in the conflict state; a second detector (304, 311) configured to: detect that a start-up of the starting software has not been completed despite a given start-up period having elapsed since the commencement of the start-up, and detect that the calculated estimated start-up period for the starting software in the conflict state exceeds the given start-up period; and a controller configured to: control the running software to be temporarily suspended when the detector detects that the device is started by the starting software, control an execution priority of the running software to be decreased when the first detector detects that the starting software accesses the system resource or the memory, control the execution priority of the running software to be decreased when the second detector (304, 311) detects that the start-up has not been completed and the common resource is a given common resource, and control the execution priority of the running software to be decreased when the second detector (304, 311) detects that the estimated start-up period exceeds the given start-up period. a first detector configured to detect whether starting software and running software are accessing the same common resource, the same common resource comprising a device, a system resource, or a memory;an extractor configured to extract, from a database storing a start-up period of software in a non-conflict state and a coefficient indicating performance deterioration in a conflict state between software, a start-up period for the starting software in the non-conflict state and a coefficient indicating performance deterioration in the conflict state between the starting software and the running software; a calculator configured to calculate, based on the start-up period and the coefficient that are extracted by the extractor, an estimated start-up period for the starting software in the conflict state; a second detector (304, 311) configured to: detect that a start-up of the starting software has not been completed despite a given start-up period having elapsed since the commencement of the start-up, and detect that the calculated estimated start-up period for the starting software in the conflict state exceeds the given start-up period; and detect that a start-up of the starting software has not been completed despite a given start-up period having elapsed since the commencement of the start-up, and detect that the calculated estimated start-up period for the starting software in the conflict state exceeds the given start-up period; and a controller configured to: control the running software to be temporarily suspended when the detector detects that the device is started by the starting software, control an execution priority of the running software to be decreased when the first detector detects that the starting software accesses the system resource or the memory, control the execution priority of the running software to be decreased when the second detector (304, 311) detects that the start-up has not been completed and the common resource is a given common resource, and control the execution priority of the running software to be decreased when the second detector (304, 311) detects that the estimated start-up period exceeds the given start-up period. control the running software to be temporarily suspended when the detector detects that the device is started by the starting software, control an execution priority of the running software to be decreased when the first detector detects that the starting software accesses the system resource or the memory, control the execution priority of the running software to be decreased when the second detector (304, 311) detects that the start-up has not been completed and the common resource is a given common resource, and control the execution priority of the running software to be decreased when the second detector (304, 311) detects that the estimated start-up period exceeds the given start-up period.