South African police have fired rubber bullets and teargas to disperse a crowd of anti-immigrant protesters in eastern Johannesburg, a witness has said.

About 200 protesters, shouting that they wanted immigrants to leave, had pelted passing vehicles and police with rocks on Thursday, triggering the show of force.

At least four people have been killed in a wave of anti-immigrant violence that started two weeks ago in Durban.

Johannesburg was the centre of xenophobic attacks in 2008 that killed more than 60 people.

The South African president, Jacob Zuma, has called for the killings to stop.

“What is happening in our country is not acceptable,” he told state broadcaster SABC in remarks broadcast on Wednesday night.

The authorities have erected safe camps in Durban, a key port, for fleeing immigrants – including Ethiopians, Nigerians, Malawians and Pakistanis – whose shops were looted and set of fire.

South Africa is home to an estimated 5 million immigrants. High unemployment, widespread poverty and massive income disparities add to environment in which outbreaks of anti-immigrant violence are common.

The official jobless rate is 25%, but economists say in reality it is much higher.