South and North Korea have marked the 60th anniversary of a war that killed millions and officially remains unfinished.

The three-year conflict, which began with a North Korean invasion, left Korea in ruins and cost close to 3m lives by most estimates.

It ended only with an armistice and not a peace treaty, leaving North and South still technically at war six decades later.

At a ceremony in Seoul, President Lee Myung-Bak urged the North to stop its 'reckless military provocations' and apologise for the sinking of a South Korean warship.

The North denies involvement in the sinking, which cost 46 lives, and accuses the South of mounting a US-backed smear campaign.

Pyongyang insists the 1950-53 war was triggered by provocations from the South and its US ally, which still stations 28,500 troops south of the border.

The North's ruling party newspaper Rodong Sinmun said today that peace is still threatened 'due to the US and the South Korean puppet forces' vicious moves to provoke a new war'.

President Lee said the South's ultimate goal is not military confrontation but peaceful reunification.

However, he reiterated calls for the North to apologise for the sinking of the ship near the disputed sea border.

The South, citing the findings of an international investigation that the North fired a torpedo, has announced its own non-military reprisals.

Along with the US, it is also pressing for United Nations Security Council condemnation of the North, which threatens a military response to any UN action.

'North Korea should take a responsible attitude in front of the international community,' President Lee said in a speech.

'North Korea should stop reckless military provocations and take the path for the 70 million Koreans to live together.'

Hundreds of decorated veterans from the South and from other countries that fought for it in the war joined families, diplomats and VIPs for the commemoration.

On display were the flags of the 21 countries that sent troops or medical units to support the South under the UN flag.