经历了一场乱哄哄的“八王之乱”,西晋王朝垮了,匈奴人趁机崛起。永嘉五年(311年)六月,西晋都城洛阳沦陷,晋怀帝司马炽被俘虏至匈奴汉国,洛阳成为废墟。
国不可一日无君。九月,
晋武帝司马炎的孙子、年仅十二岁的秦王
司马邺被立为皇太子,在长安建立行台,号令天下,坐镇长安,继续抵抗匈奴军。次年(312年)四月,晋怀帝被毒杀的消息传到长安,司马邺正式即位,改元建兴,史称晋愍帝。
当时,经过去年
刘曜率领的匈奴军的洗劫,又逢天灾,“关西饥馑,白骨蔽野,士民存者百无一二”,长安城内“仓库虚竭”,粮食、物资缺乏,满目荒凉,蒿草、荆棘遍地都是,身为皇帝的司马邺想吃顿饱饭都成为奢望。
这个在天灾、战乱中苟延残喘的西晋王朝,面临着巨大的危机。政府和私人的车乘凑到一块,也只有四辆车,朝廷官员既无官印,也无朝服,连执板也是临时锯些桑木板写上官号凑合着用。建兴元年(313年)九月,刘曜再次进攻长安,五千匈奴铁骑夜袭长安,攻入外城,烧杀抢掠一番而去。建兴二年、建兴三年,刘曜又两次进逼长安,司马邺诏令总管长安以西军事的右丞相司马保发兵救援,司马保推辞不发兵,而且抛弃了朝廷,“于是自长安以西,不复贡奉朝廷,百官饥乏,采稆以自存”,由于断绝了对朝廷的物资供应,百官无粮,只能采集野生的黍麦充饥。文武百官都这副德行,司马邺也好不到哪里去。
在这危难之际,远在西方的凉州牧张轨没有忘记皇帝。建兴四年(316年)四月,张轨派出的五千步骑兵来到长安,并带来了当地上贡的各种土特产,总算安慰了司马邺那颗受伤的心。司马邺很高兴,任命张轨为都督陕西诸军事,封张轨的儿子张茂为秦州刺史。带来的食物虽然杯水车薪,但总算解了燃眉之急,所以,司马邺和他的百官、将士仍然吃不饱。
好景不长,当年八月,刘曜又一次围攻长安。附近各郡纷纷领兵来救,见刘曜兵多将广,屯兵灞上,没人敢靠近。司马保派出的军队也内部矛盾,屯兵渭北,不愿再进。见各路晋军观望不前,刘曜全力攻城,很快就攻陷了外城,司马邺君臣退守小城。此时,“内外断绝,城中饥甚,米斗值金二两,人相食,死者大半”,司马邺这下可挨饿了,很快就断了粮,只能喝水。后来,臣下找遍仓库,总算找到了几十块酒曲,于是偷偷地让人碾成碎末,做成粥汤给司马邺充饥。不久,这点东西也吃光了,司马邺这下悲催了。
当时,已是阴历十一月,正值隆冬时节,天寒地冻,长安城内一片苍凉,没有炊烟,没有欢笑,只有呻吟声和肚子咕咕叫声。司马邺君臣上下又冷又饿,苦不堪言。熬了几件,司马邺饿得实在受不了了,于是对臣下说:“今穷厄如此,外无救援,当忍耻出降,以活士民。”意思是说,而今已是穷途末路,要吃没吃,要病没兵,我决定不顾羞耻出去投降,使当地的百姓能够免受涂炭,活下来。因为饥饿,把皇帝逼到这一步,世所罕见。
派人与刘曜联系好以后,十一月十一日,司马邺在群臣的号泣声中,乘坐羊车、光着膀子、口衔玉璧、抬着棺材,出长安城东门向刘曜投降,西晋由此灭亡。被押送到匈奴汉国后,司马邺被汉主
刘聪封为光禄大夫、怀安侯。在平阳的日子里,司马邺做执戟郎、服务员,甚至给刘聪拿马桶盖,他当皇帝时没吃饱,投降后却吃饱了,不过是饱受辛酸苦楚。在受尽各种屈辱后,司马邺于次年(317年)十二月被毒死,年仅十八岁。